@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.
@@ -734,6 +734,25 @@ class BiasSet {
734
734
  if (Symbol.dispose) BiasSet.prototype[Symbol.dispose] = BiasSet.prototype.free;
735
735
  exports.BiasSet = BiasSet;
736
736
 
737
+ /**
738
+ * Broadcast group-delay term selector.
739
+ * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10}
740
+ */
741
+ const BroadcastDelayTerm = Object.freeze({
742
+ GpsTgd: 0, "0": "GpsTgd",
743
+ GalileoBgdE5aE1: 1, "1": "GalileoBgdE5aE1",
744
+ GalileoBgdE5bE1: 2, "2": "GalileoBgdE5bE1",
745
+ BeidouTgd1: 3, "3": "BeidouTgd1",
746
+ BeidouTgd2: 4, "4": "BeidouTgd2",
747
+ CnavIscL1Ca: 5, "5": "CnavIscL1Ca",
748
+ CnavIscL2C: 6, "6": "CnavIscL2C",
749
+ CnavIscL5I5: 7, "7": "CnavIscL5I5",
750
+ CnavIscL5Q5: 8, "8": "CnavIscL5Q5",
751
+ CnavIscL1Cd: 9, "9": "CnavIscL1Cd",
752
+ CnavIscL1Cp: 10, "10": "CnavIscL1Cp",
753
+ });
754
+ exports.BroadcastDelayTerm = BroadcastDelayTerm;
755
+
737
756
  /**
738
757
  * A parsed broadcast ephemeris store from a RINEX NAV file. `records` are the
739
758
  * usable GPS/Galileo/BeiDou records selected by the core default SPP policy.
@@ -815,6 +834,22 @@ class BroadcastEphemeris {
815
834
  }
816
835
  return takeFromExternrefTable0(ret[0]);
817
836
  }
837
+ /**
838
+ * Evaluate the store-selected broadcast state for `satellite` at GPST-like
839
+ * J2000 seconds. Returns `undefined` when no usable record covers the query.
840
+ * @param {string} satellite
841
+ * @param {number} t_j2000_s
842
+ * @returns {BroadcastStoreEvaluation | undefined}
843
+ */
844
+ evaluate(satellite, t_j2000_s) {
845
+ const ptr0 = passStringToWasm0(satellite, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
846
+ const len0 = WASM_VECTOR_LEN;
847
+ const ret = wasm.broadcastephemeris_evaluate(this.__wbg_ptr, ptr0, len0, t_j2000_s);
848
+ if (ret[2]) {
849
+ throw takeFromExternrefTable0(ret[1]);
850
+ }
851
+ return ret[0] === 0 ? undefined : BroadcastStoreEvaluation.__wrap(ret[0]);
852
+ }
818
853
  /**
819
854
  * Number of usable GLONASS records.
820
855
  * @returns {number}
@@ -1015,6 +1050,46 @@ class BroadcastEvaluation {
1015
1050
  if (Symbol.dispose) BroadcastEvaluation.prototype[Symbol.dispose] = BroadcastEvaluation.prototype.free;
1016
1051
  exports.BroadcastEvaluation = BroadcastEvaluation;
1017
1052
 
1053
+ /**
1054
+ * Per-signal broadcast group-delay terms retained from a NAV record.
1055
+ */
1056
+ class BroadcastGroupDelaysJs {
1057
+ static __wrap(ptr) {
1058
+ const obj = Object.create(BroadcastGroupDelaysJs.prototype);
1059
+ obj.__wbg_ptr = ptr;
1060
+ BroadcastGroupDelaysJsFinalization.register(obj, obj.__wbg_ptr, obj);
1061
+ return obj;
1062
+ }
1063
+ __destroy_into_raw() {
1064
+ const ptr = this.__wbg_ptr;
1065
+ this.__wbg_ptr = 0;
1066
+ BroadcastGroupDelaysJsFinalization.unregister(this);
1067
+ return ptr;
1068
+ }
1069
+ free() {
1070
+ const ptr = this.__destroy_into_raw();
1071
+ wasm.__wbg_broadcastgroupdelaysjs_free(ptr, 0);
1072
+ }
1073
+ /**
1074
+ * @param {CnavSignal} signal
1075
+ * @returns {number | undefined}
1076
+ */
1077
+ cnavSingleFrequencyCorrectionS(signal) {
1078
+ const ret = wasm.broadcastgroupdelaysjs_cnavSingleFrequencyCorrectionS(this.__wbg_ptr, signal);
1079
+ return ret[0] === 0 ? undefined : ret[1];
1080
+ }
1081
+ /**
1082
+ * @param {BroadcastDelayTerm} term
1083
+ * @returns {number | undefined}
1084
+ */
1085
+ get(term) {
1086
+ const ret = wasm.broadcastgroupdelaysjs_get(this.__wbg_ptr, term);
1087
+ return ret[0] === 0 ? undefined : ret[1];
1088
+ }
1089
+ }
1090
+ if (Symbol.dispose) BroadcastGroupDelaysJs.prototype[Symbol.dispose] = BroadcastGroupDelaysJs.prototype.free;
1091
+ exports.BroadcastGroupDelaysJs = BroadcastGroupDelaysJs;
1092
+
1018
1093
  /**
1019
1094
  * One GPS, Galileo, or BeiDou broadcast ephemeris record from RINEX NAV.
1020
1095
  */
@@ -1043,6 +1118,14 @@ class BroadcastRecordJs {
1043
1118
  const ret = wasm.broadcastrecordjs_clock(this.__wbg_ptr);
1044
1119
  return ClockPolynomialJs.__wrap(ret);
1045
1120
  }
1121
+ /**
1122
+ * CNAV-family extension fields, or `undefined` for legacy records.
1123
+ * @returns {CnavParametersJs | undefined}
1124
+ */
1125
+ get cnav() {
1126
+ const ret = wasm.broadcastrecordjs_cnav(this.__wbg_ptr);
1127
+ return ret === 0 ? undefined : CnavParametersJs.__wrap(ret);
1128
+ }
1046
1129
  /**
1047
1130
  * Keplerian orbital elements in SI units.
1048
1131
  * @returns {KeplerianElementsJs}
@@ -1081,6 +1164,30 @@ class BroadcastRecordJs {
1081
1164
  const ret = wasm.broadcastrecordjs_groupDelayS(this.__wbg_ptr);
1082
1165
  return ret;
1083
1166
  }
1167
+ /**
1168
+ * Broadcast group-delay terms carried by this record.
1169
+ * @returns {BroadcastGroupDelaysJs}
1170
+ */
1171
+ get groupDelays() {
1172
+ const ret = wasm.broadcastrecordjs_groupDelays(this.__wbg_ptr);
1173
+ return BroadcastGroupDelaysJs.__wrap(ret);
1174
+ }
1175
+ /**
1176
+ * Native issue-of-data value.
1177
+ * @returns {number}
1178
+ */
1179
+ get issue() {
1180
+ const ret = wasm.broadcastrecordjs_issue(this.__wbg_ptr);
1181
+ return ret >>> 0;
1182
+ }
1183
+ /**
1184
+ * Message family attached to the issue-of-data value.
1185
+ * @returns {NavMessage}
1186
+ */
1187
+ get issueMessage() {
1188
+ const ret = wasm.broadcastrecordjs_issueMessage(this.__wbg_ptr);
1189
+ return ret;
1190
+ }
1084
1191
  /**
1085
1192
  * Broadcast message type.
1086
1193
  * @returns {NavMessage}
@@ -1133,6 +1240,68 @@ class BroadcastRecordJs {
1133
1240
  if (Symbol.dispose) BroadcastRecordJs.prototype[Symbol.dispose] = BroadcastRecordJs.prototype.free;
1134
1241
  exports.BroadcastRecordJs = BroadcastRecordJs;
1135
1242
 
1243
+ /**
1244
+ * Store-level broadcast ephemeris evaluation at a J2000 query epoch.
1245
+ */
1246
+ class BroadcastStoreEvaluation {
1247
+ static __wrap(ptr) {
1248
+ const obj = Object.create(BroadcastStoreEvaluation.prototype);
1249
+ obj.__wbg_ptr = ptr;
1250
+ BroadcastStoreEvaluationFinalization.register(obj, obj.__wbg_ptr, obj);
1251
+ return obj;
1252
+ }
1253
+ __destroy_into_raw() {
1254
+ const ptr = this.__wbg_ptr;
1255
+ this.__wbg_ptr = 0;
1256
+ BroadcastStoreEvaluationFinalization.unregister(this);
1257
+ return ptr;
1258
+ }
1259
+ free() {
1260
+ const ptr = this.__destroy_into_raw();
1261
+ wasm.__wbg_broadcaststoreevaluation_free(ptr, 0);
1262
+ }
1263
+ /**
1264
+ * @returns {number}
1265
+ */
1266
+ get clockS() {
1267
+ const ret = wasm.broadcaststoreevaluation_clockS(this.__wbg_ptr);
1268
+ return ret;
1269
+ }
1270
+ /**
1271
+ * @returns {Float64Array}
1272
+ */
1273
+ get positionM() {
1274
+ const ret = wasm.broadcaststoreevaluation_positionM(this.__wbg_ptr);
1275
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
1276
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
1277
+ return v1;
1278
+ }
1279
+ /**
1280
+ * @returns {string}
1281
+ */
1282
+ get satellite() {
1283
+ let deferred1_0;
1284
+ let deferred1_1;
1285
+ try {
1286
+ const ret = wasm.broadcaststoreevaluation_satellite(this.__wbg_ptr);
1287
+ deferred1_0 = ret[0];
1288
+ deferred1_1 = ret[1];
1289
+ return getStringFromWasm0(ret[0], ret[1]);
1290
+ } finally {
1291
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
1292
+ }
1293
+ }
1294
+ /**
1295
+ * @returns {number}
1296
+ */
1297
+ get tJ2000S() {
1298
+ const ret = wasm.broadcaststoreevaluation_tJ2000S(this.__wbg_ptr);
1299
+ return ret;
1300
+ }
1301
+ }
1302
+ if (Symbol.dispose) BroadcastStoreEvaluation.prototype[Symbol.dispose] = BroadcastStoreEvaluation.prototype.free;
1303
+ exports.BroadcastStoreEvaluation = BroadcastStoreEvaluation;
1304
+
1136
1305
  /**
1137
1306
  * A canonical GNSS carrier band. The JS value matches the variant order below.
1138
1307
  * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15}
@@ -2279,6 +2448,126 @@ class ClockSeries {
2279
2448
  if (Symbol.dispose) ClockSeries.prototype[Symbol.dispose] = ClockSeries.prototype.free;
2280
2449
  exports.ClockSeries = ClockSeries;
2281
2450
 
2451
+ /**
2452
+ * CNAV/CNAV-2 fields with no legacy LNAV counterpart.
2453
+ */
2454
+ class CnavParametersJs {
2455
+ static __wrap(ptr) {
2456
+ const obj = Object.create(CnavParametersJs.prototype);
2457
+ obj.__wbg_ptr = ptr;
2458
+ CnavParametersJsFinalization.register(obj, obj.__wbg_ptr, obj);
2459
+ return obj;
2460
+ }
2461
+ __destroy_into_raw() {
2462
+ const ptr = this.__wbg_ptr;
2463
+ this.__wbg_ptr = 0;
2464
+ CnavParametersJsFinalization.unregister(this);
2465
+ return ptr;
2466
+ }
2467
+ free() {
2468
+ const ptr = this.__destroy_into_raw();
2469
+ wasm.__wbg_cnavparametersjs_free(ptr, 0);
2470
+ }
2471
+ /**
2472
+ * @returns {number}
2473
+ */
2474
+ get adotMS() {
2475
+ const ret = wasm.cnavparametersjs_adotMS(this.__wbg_ptr);
2476
+ return ret;
2477
+ }
2478
+ /**
2479
+ * @returns {number}
2480
+ */
2481
+ get deltaN0DotRadS2() {
2482
+ const ret = wasm.cnavparametersjs_deltaN0DotRadS2(this.__wbg_ptr);
2483
+ return ret;
2484
+ }
2485
+ /**
2486
+ * @returns {number | undefined}
2487
+ */
2488
+ get flags() {
2489
+ const ret = wasm.cnavparametersjs_flags(this.__wbg_ptr);
2490
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
2491
+ }
2492
+ /**
2493
+ * @returns {number}
2494
+ */
2495
+ get topTowS() {
2496
+ const ret = wasm.cnavparametersjs_topTowS(this.__wbg_ptr);
2497
+ return ret;
2498
+ }
2499
+ /**
2500
+ * @returns {number}
2501
+ */
2502
+ get topWeek() {
2503
+ const ret = wasm.cnavparametersjs_topWeek(this.__wbg_ptr);
2504
+ return ret >>> 0;
2505
+ }
2506
+ /**
2507
+ * @returns {number}
2508
+ */
2509
+ get transmissionTimeSow() {
2510
+ const ret = wasm.cnavparametersjs_transmissionTimeSow(this.__wbg_ptr);
2511
+ return ret;
2512
+ }
2513
+ /**
2514
+ * @returns {number}
2515
+ */
2516
+ get uraEdIndex() {
2517
+ const ret = wasm.cnavparametersjs_uraEdIndex(this.__wbg_ptr);
2518
+ return ret;
2519
+ }
2520
+ /**
2521
+ * @returns {number}
2522
+ */
2523
+ get uraNed0Index() {
2524
+ const ret = wasm.cnavparametersjs_uraNed0Index(this.__wbg_ptr);
2525
+ return ret;
2526
+ }
2527
+ /**
2528
+ * @returns {number}
2529
+ */
2530
+ get uraNed1Index() {
2531
+ const ret = wasm.cnavparametersjs_uraNed1Index(this.__wbg_ptr);
2532
+ return ret;
2533
+ }
2534
+ /**
2535
+ * @returns {number}
2536
+ */
2537
+ get uraNed2Index() {
2538
+ const ret = wasm.cnavparametersjs_uraNed2Index(this.__wbg_ptr);
2539
+ return ret;
2540
+ }
2541
+ /**
2542
+ * @param {number} week
2543
+ * @param {number} tow_s
2544
+ * @returns {number | undefined}
2545
+ */
2546
+ uraNedM(week, tow_s) {
2547
+ const ret = wasm.cnavparametersjs_uraNedM(this.__wbg_ptr, week, tow_s);
2548
+ if (ret[3]) {
2549
+ throw takeFromExternrefTable0(ret[2]);
2550
+ }
2551
+ return ret[0] === 0 ? undefined : ret[1];
2552
+ }
2553
+ }
2554
+ if (Symbol.dispose) CnavParametersJs.prototype[Symbol.dispose] = CnavParametersJs.prototype.free;
2555
+ exports.CnavParametersJs = CnavParametersJs;
2556
+
2557
+ /**
2558
+ * GPS/QZSS signal used for CNAV inter-signal correction accessors.
2559
+ * @enum {0 | 1 | 2 | 3 | 4 | 5}
2560
+ */
2561
+ const CnavSignal = Object.freeze({
2562
+ L1Ca: 0, "0": "L1Ca",
2563
+ L2C: 1, "1": "L2C",
2564
+ L5I5: 2, "2": "L5I5",
2565
+ L5Q5: 3, "3": "L5Q5",
2566
+ L1Cp: 4, "4": "L1Cp",
2567
+ L1Cd: 5, "5": "L1Cd",
2568
+ });
2569
+ exports.CnavSignal = CnavSignal;
2570
+
2282
2571
  /**
2283
2572
  * Collision-probability result and encounter-plane summary.
2284
2573
  */
@@ -2632,91 +2921,236 @@ if (Symbol.dispose) CorrelationResult.prototype[Symbol.dispose] = CorrelationRes
2632
2921
  exports.CorrelationResult = CorrelationResult;
2633
2922
 
2634
2923
  /**
2635
- * A computed look-angle grid for a set of satellites and ground stations at one
2636
- * epoch. Build with [`coverageLookAngles`].
2924
+ * Propagated state plus covariance nodes.
2637
2925
  */
2638
- class CoverageGrid {
2926
+ class CovarianceEphemeris {
2639
2927
  static __wrap(ptr) {
2640
- const obj = Object.create(CoverageGrid.prototype);
2928
+ const obj = Object.create(CovarianceEphemeris.prototype);
2641
2929
  obj.__wbg_ptr = ptr;
2642
- CoverageGridFinalization.register(obj, obj.__wbg_ptr, obj);
2930
+ CovarianceEphemerisFinalization.register(obj, obj.__wbg_ptr, obj);
2643
2931
  return obj;
2644
2932
  }
2645
2933
  __destroy_into_raw() {
2646
2934
  const ptr = this.__wbg_ptr;
2647
2935
  this.__wbg_ptr = 0;
2648
- CoverageGridFinalization.unregister(this);
2936
+ CovarianceEphemerisFinalization.unregister(this);
2649
2937
  return ptr;
2650
2938
  }
2651
2939
  free() {
2652
2940
  const ptr = this.__destroy_into_raw();
2653
- wasm.__wbg_coveragegrid_free(ptr, 0);
2654
- }
2655
- /**
2656
- * Number of visible satellites per station at `minElevationDeg`, as a flat
2657
- * array of length `stationCount`. Delegates to
2658
- * `sidereon_core::astro::coverage::access_counts`.
2659
- * @param {number} min_elevation_deg
2660
- * @returns {Uint32Array}
2661
- */
2662
- accessCounts(min_elevation_deg) {
2663
- const ret = wasm.coveragegrid_accessCounts(this.__wbg_ptr, min_elevation_deg);
2664
- var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
2665
- wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
2666
- return v1;
2941
+ wasm.__wbg_covarianceephemeris_free(ptr, 0);
2667
2942
  }
2668
2943
  /**
2669
- * The look angle for one satellite/station pair as `[azimuthDeg,
2670
- * elevationDeg, rangeKm]`, or `undefined` when that cell failed (the
2671
- * satellite was below the horizon geometry the kernel rejects) or the
2672
- * indices are out of range.
2673
- * @param {number} satellite_index
2674
- * @param {number} station_index
2675
- * @returns {Float64Array | undefined}
2944
+ * @returns {Float64Array}
2676
2945
  */
2677
- lookAngle(satellite_index, station_index) {
2678
- const ret = wasm.coveragegrid_lookAngle(this.__wbg_ptr, satellite_index, station_index);
2679
- let v1;
2680
- if (ret[0] !== 0) {
2681
- v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
2682
- wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2683
- }
2946
+ get covariance() {
2947
+ const ret = wasm.covarianceephemeris_covariance(this.__wbg_ptr);
2948
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
2949
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2684
2950
  return v1;
2685
2951
  }
2686
2952
  /**
2687
- * Maximum successful elevation per station, degrees, as a flat array of
2688
- * length `stationCount`. A station with no successful cell reports `NaN`.
2689
- * Delegates to `sidereon_core::astro::coverage::max_elevation`.
2953
+ * @param {number} epoch_tdb_seconds
2690
2954
  * @returns {Float64Array}
2691
2955
  */
2692
- maxElevationDeg() {
2693
- const ret = wasm.coveragegrid_maxElevationDeg(this.__wbg_ptr);
2956
+ covarianceAt(epoch_tdb_seconds) {
2957
+ const ret = wasm.covarianceephemeris_covarianceAt(this.__wbg_ptr, epoch_tdb_seconds);
2958
+ if (ret[3]) {
2959
+ throw takeFromExternrefTable0(ret[2]);
2960
+ }
2694
2961
  var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
2695
2962
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2696
2963
  return v1;
2697
2964
  }
2698
2965
  /**
2699
- * Number of satellites (grid rows).
2700
2966
  * @returns {number}
2701
2967
  */
2702
- get satelliteCount() {
2703
- const ret = wasm.coveragegrid_satelliteCount(this.__wbg_ptr);
2968
+ get epochCount() {
2969
+ const ret = wasm.covarianceephemeris_epochCount(this.__wbg_ptr);
2704
2970
  return ret >>> 0;
2705
2971
  }
2706
2972
  /**
2707
- * Number of ground stations (grid columns).
2708
- * @returns {number}
2973
+ * @returns {string}
2709
2974
  */
2710
- get stationCount() {
2711
- const ret = wasm.coveragegrid_stationCount(this.__wbg_ptr);
2712
- return ret >>> 0;
2975
+ get frame() {
2976
+ let deferred1_0;
2977
+ let deferred1_1;
2978
+ try {
2979
+ const ret = wasm.covarianceephemeris_frame(this.__wbg_ptr);
2980
+ deferred1_0 = ret[0];
2981
+ deferred1_1 = ret[1];
2982
+ return getStringFromWasm0(ret[0], ret[1]);
2983
+ } finally {
2984
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
2985
+ }
2713
2986
  }
2714
2987
  /**
2715
- * Row-major `[satellite][station]` visibility mask at `minElevationDeg`, as a
2716
- * flat `Uint8Array` of `1` (visible) / `0`. Error cells are not visible.
2717
- * Delegates to `sidereon_core::astro::coverage::visible_mask`.
2718
- * @param {number} min_elevation_deg
2719
- * @returns {Uint8Array}
2988
+ * @returns {Float64Array}
2989
+ */
2990
+ get positionKm() {
2991
+ const ret = wasm.covarianceephemeris_positionKm(this.__wbg_ptr);
2992
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
2993
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2994
+ return v1;
2995
+ }
2996
+ /**
2997
+ * @returns {Float64Array}
2998
+ */
2999
+ get timesS() {
3000
+ const ret = wasm.covarianceephemeris_timesS(this.__wbg_ptr);
3001
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
3002
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
3003
+ return v1;
3004
+ }
3005
+ /**
3006
+ * @returns {Float64Array}
3007
+ */
3008
+ get velocityKmS() {
3009
+ const ret = wasm.covarianceephemeris_velocityKmS(this.__wbg_ptr);
3010
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
3011
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
3012
+ return v1;
3013
+ }
3014
+ }
3015
+ if (Symbol.dispose) CovarianceEphemeris.prototype[Symbol.dispose] = CovarianceEphemeris.prototype.free;
3016
+ exports.CovarianceEphemeris = CovarianceEphemeris;
3017
+
3018
+ /**
3019
+ * Frame a 6x6 state covariance is expressed in.
3020
+ * @enum {0 | 1}
3021
+ */
3022
+ const CovarianceFrame = Object.freeze({
3023
+ Inertial: 0, "0": "Inertial",
3024
+ Rtn: 1, "1": "Rtn",
3025
+ });
3026
+ exports.CovarianceFrame = CovarianceFrame;
3027
+
3028
+ /**
3029
+ * Covariances returned by explicit STM transport.
3030
+ */
3031
+ class CovarianceTransportResult {
3032
+ static __wrap(ptr) {
3033
+ const obj = Object.create(CovarianceTransportResult.prototype);
3034
+ obj.__wbg_ptr = ptr;
3035
+ CovarianceTransportResultFinalization.register(obj, obj.__wbg_ptr, obj);
3036
+ return obj;
3037
+ }
3038
+ __destroy_into_raw() {
3039
+ const ptr = this.__wbg_ptr;
3040
+ this.__wbg_ptr = 0;
3041
+ CovarianceTransportResultFinalization.unregister(this);
3042
+ return ptr;
3043
+ }
3044
+ free() {
3045
+ const ptr = this.__destroy_into_raw();
3046
+ wasm.__wbg_covariancetransportresult_free(ptr, 0);
3047
+ }
3048
+ /**
3049
+ * @returns {Float64Array}
3050
+ */
3051
+ get covariance() {
3052
+ const ret = wasm.covariancetransportresult_covariance(this.__wbg_ptr);
3053
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
3054
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
3055
+ return v1;
3056
+ }
3057
+ /**
3058
+ * @returns {number}
3059
+ */
3060
+ get nodeCount() {
3061
+ const ret = wasm.covariancetransportresult_nodeCount(this.__wbg_ptr);
3062
+ return ret >>> 0;
3063
+ }
3064
+ }
3065
+ if (Symbol.dispose) CovarianceTransportResult.prototype[Symbol.dispose] = CovarianceTransportResult.prototype.free;
3066
+ exports.CovarianceTransportResult = CovarianceTransportResult;
3067
+
3068
+ /**
3069
+ * A computed look-angle grid for a set of satellites and ground stations at one
3070
+ * epoch. Build with [`coverageLookAngles`].
3071
+ */
3072
+ class CoverageGrid {
3073
+ static __wrap(ptr) {
3074
+ const obj = Object.create(CoverageGrid.prototype);
3075
+ obj.__wbg_ptr = ptr;
3076
+ CoverageGridFinalization.register(obj, obj.__wbg_ptr, obj);
3077
+ return obj;
3078
+ }
3079
+ __destroy_into_raw() {
3080
+ const ptr = this.__wbg_ptr;
3081
+ this.__wbg_ptr = 0;
3082
+ CoverageGridFinalization.unregister(this);
3083
+ return ptr;
3084
+ }
3085
+ free() {
3086
+ const ptr = this.__destroy_into_raw();
3087
+ wasm.__wbg_coveragegrid_free(ptr, 0);
3088
+ }
3089
+ /**
3090
+ * Number of visible satellites per station at `minElevationDeg`, as a flat
3091
+ * array of length `stationCount`. Delegates to
3092
+ * `sidereon_core::astro::coverage::access_counts`.
3093
+ * @param {number} min_elevation_deg
3094
+ * @returns {Uint32Array}
3095
+ */
3096
+ accessCounts(min_elevation_deg) {
3097
+ const ret = wasm.coveragegrid_accessCounts(this.__wbg_ptr, min_elevation_deg);
3098
+ var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
3099
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
3100
+ return v1;
3101
+ }
3102
+ /**
3103
+ * The look angle for one satellite/station pair as `[azimuthDeg,
3104
+ * elevationDeg, rangeKm]`, or `undefined` when that cell failed (the
3105
+ * satellite was below the horizon geometry the kernel rejects) or the
3106
+ * indices are out of range.
3107
+ * @param {number} satellite_index
3108
+ * @param {number} station_index
3109
+ * @returns {Float64Array | undefined}
3110
+ */
3111
+ lookAngle(satellite_index, station_index) {
3112
+ const ret = wasm.coveragegrid_lookAngle(this.__wbg_ptr, satellite_index, station_index);
3113
+ let v1;
3114
+ if (ret[0] !== 0) {
3115
+ v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
3116
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
3117
+ }
3118
+ return v1;
3119
+ }
3120
+ /**
3121
+ * Maximum successful elevation per station, degrees, as a flat array of
3122
+ * length `stationCount`. A station with no successful cell reports `NaN`.
3123
+ * Delegates to `sidereon_core::astro::coverage::max_elevation`.
3124
+ * @returns {Float64Array}
3125
+ */
3126
+ maxElevationDeg() {
3127
+ const ret = wasm.coveragegrid_maxElevationDeg(this.__wbg_ptr);
3128
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
3129
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
3130
+ return v1;
3131
+ }
3132
+ /**
3133
+ * Number of satellites (grid rows).
3134
+ * @returns {number}
3135
+ */
3136
+ get satelliteCount() {
3137
+ const ret = wasm.coveragegrid_satelliteCount(this.__wbg_ptr);
3138
+ return ret >>> 0;
3139
+ }
3140
+ /**
3141
+ * Number of ground stations (grid columns).
3142
+ * @returns {number}
3143
+ */
3144
+ get stationCount() {
3145
+ const ret = wasm.coveragegrid_stationCount(this.__wbg_ptr);
3146
+ return ret >>> 0;
3147
+ }
3148
+ /**
3149
+ * Row-major `[satellite][station]` visibility mask at `minElevationDeg`, as a
3150
+ * flat `Uint8Array` of `1` (visible) / `0`. Error cells are not visible.
3151
+ * Delegates to `sidereon_core::astro::coverage::visible_mask`.
3152
+ * @param {number} min_elevation_deg
3153
+ * @returns {Uint8Array}
2720
3154
  */
2721
3155
  visibleMask(min_elevation_deg) {
2722
3156
  const ret = wasm.coveragegrid_visibleMask(this.__wbg_ptr, min_elevation_deg);
@@ -4034,6 +4468,42 @@ class GeoidGrid {
4034
4468
  const ptr = this.__destroy_into_raw();
4035
4469
  wasm.__wbg_geoidgrid_free(ptr, 0);
4036
4470
  }
4471
+ /**
4472
+ * Ellipsoidal height from orthometric height and degrees.
4473
+ * @param {number} orthometric_height_m
4474
+ * @param {number} lat_deg
4475
+ * @param {number} lon_deg
4476
+ * @returns {number}
4477
+ */
4478
+ ellipsoidalHeightDeg(orthometric_height_m, lat_deg, lon_deg) {
4479
+ const ret = wasm.geoidgrid_ellipsoidalHeightDeg(this.__wbg_ptr, orthometric_height_m, lat_deg, lon_deg);
4480
+ return ret;
4481
+ }
4482
+ /**
4483
+ * Ellipsoidal height from orthometric height and radians.
4484
+ * @param {number} orthometric_height_m
4485
+ * @param {number} lat_rad
4486
+ * @param {number} lon_rad
4487
+ * @returns {number}
4488
+ */
4489
+ ellipsoidalHeightRad(orthometric_height_m, lat_rad, lon_rad) {
4490
+ const ret = wasm.geoidgrid_ellipsoidalHeightRad(this.__wbg_ptr, orthometric_height_m, lat_rad, lon_rad);
4491
+ return ret;
4492
+ }
4493
+ /**
4494
+ * Parse an EGM96 `WW15MGH.DAC` byte buffer into a full-resolution grid.
4495
+ * @param {Uint8Array} bytes
4496
+ * @returns {GeoidGrid}
4497
+ */
4498
+ static fromEgm96Dac(bytes) {
4499
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
4500
+ const len0 = WASM_VECTOR_LEN;
4501
+ const ret = wasm.geoidgrid_fromEgm96Dac(ptr0, len0);
4502
+ if (ret[2]) {
4503
+ throw takeFromExternrefTable0(ret[1]);
4504
+ }
4505
+ return GeoidGrid.__wrap(ret[0]);
4506
+ }
4037
4507
  /**
4038
4508
  * Parse a grid from the documented whitespace-delimited text format (a
4039
4509
  * six-field header `lat_min lon_min dlat dlon n_lat n_lon` followed by
@@ -4077,6 +4547,28 @@ class GeoidGrid {
4077
4547
  GeoidGridFinalization.register(this, this.__wbg_ptr, this);
4078
4548
  return this;
4079
4549
  }
4550
+ /**
4551
+ * Orthometric height from ellipsoidal height and degrees.
4552
+ * @param {number} ellipsoidal_height_m
4553
+ * @param {number} lat_deg
4554
+ * @param {number} lon_deg
4555
+ * @returns {number}
4556
+ */
4557
+ orthometricHeightDeg(ellipsoidal_height_m, lat_deg, lon_deg) {
4558
+ const ret = wasm.geoidgrid_orthometricHeightDeg(this.__wbg_ptr, ellipsoidal_height_m, lat_deg, lon_deg);
4559
+ return ret;
4560
+ }
4561
+ /**
4562
+ * Orthometric height from ellipsoidal height and radians.
4563
+ * @param {number} ellipsoidal_height_m
4564
+ * @param {number} lat_rad
4565
+ * @param {number} lon_rad
4566
+ * @returns {number}
4567
+ */
4568
+ orthometricHeightRad(ellipsoidal_height_m, lat_rad, lon_rad) {
4569
+ const ret = wasm.geoidgrid_orthometricHeightRad(this.__wbg_ptr, ellipsoidal_height_m, lat_rad, lon_rad);
4570
+ return ret;
4571
+ }
4080
4572
  /**
4081
4573
  * Bilinearly interpolated undulation `N` (metres) at a geodetic position in
4082
4574
  * degrees (latitude positive north, longitude positive east).
@@ -4099,6 +4591,38 @@ class GeoidGrid {
4099
4591
  const ret = wasm.geoidgrid_undulationRad(this.__wbg_ptr, lat_rad, lon_rad);
4100
4592
  return ret;
4101
4593
  }
4594
+ /**
4595
+ * Batch undulation lookup for flat `[latDeg, lonDeg, ...]` pairs.
4596
+ * @param {Float64Array} points_deg
4597
+ * @returns {Float64Array}
4598
+ */
4599
+ undulationsDeg(points_deg) {
4600
+ const ptr0 = passArrayF64ToWasm0(points_deg, wasm.__wbindgen_malloc);
4601
+ const len0 = WASM_VECTOR_LEN;
4602
+ const ret = wasm.geoidgrid_undulationsDeg(this.__wbg_ptr, ptr0, len0);
4603
+ if (ret[3]) {
4604
+ throw takeFromExternrefTable0(ret[2]);
4605
+ }
4606
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
4607
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
4608
+ return v2;
4609
+ }
4610
+ /**
4611
+ * Batch undulation lookup for flat `[latRad, lonRad, ...]` pairs.
4612
+ * @param {Float64Array} points_rad
4613
+ * @returns {Float64Array}
4614
+ */
4615
+ undulationsRad(points_rad) {
4616
+ const ptr0 = passArrayF64ToWasm0(points_rad, wasm.__wbindgen_malloc);
4617
+ const len0 = WASM_VECTOR_LEN;
4618
+ const ret = wasm.geoidgrid_undulationsRad(this.__wbg_ptr, ptr0, len0);
4619
+ if (ret[3]) {
4620
+ throw takeFromExternrefTable0(ret[2]);
4621
+ }
4622
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
4623
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
4624
+ return v2;
4625
+ }
4102
4626
  }
4103
4627
  if (Symbol.dispose) GeoidGrid.prototype[Symbol.dispose] = GeoidGrid.prototype.free;
4104
4628
  exports.GeoidGrid = GeoidGrid;
@@ -6638,78 +7162,347 @@ exports.NamedTle = NamedTle;
6638
7162
 
6639
7163
  /**
6640
7164
  * Which supported RINEX NAV message a broadcast record carries.
6641
- * @enum {0 | 1 | 2 | 3 | 4}
7165
+ * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8}
6642
7166
  */
6643
7167
  const NavMessage = Object.freeze({
6644
7168
  /**
6645
7169
  * GPS legacy LNAV.
6646
7170
  */
6647
7171
  GpsLnav: 0, "0": "GpsLnav",
7172
+ /**
7173
+ * GPS CNAV.
7174
+ */
7175
+ GpsCnav: 1, "1": "GpsCnav",
7176
+ /**
7177
+ * GPS CNAV-2.
7178
+ */
7179
+ GpsCnav2: 2, "2": "GpsCnav2",
7180
+ /**
7181
+ * QZSS CNAV.
7182
+ */
7183
+ QzssCnav: 3, "3": "QzssCnav",
7184
+ /**
7185
+ * QZSS CNAV-2.
7186
+ */
7187
+ QzssCnav2: 4, "4": "QzssCnav2",
6648
7188
  /**
6649
7189
  * Galileo I/NAV.
6650
7190
  */
6651
- GalileoInav: 1, "1": "GalileoInav",
7191
+ GalileoInav: 5, "5": "GalileoInav",
6652
7192
  /**
6653
7193
  * Galileo F/NAV.
6654
7194
  */
6655
- GalileoFnav: 2, "2": "GalileoFnav",
7195
+ GalileoFnav: 6, "6": "GalileoFnav",
6656
7196
  /**
6657
7197
  * BeiDou D1.
6658
7198
  */
6659
- BeidouD1: 3, "3": "BeidouD1",
7199
+ BeidouD1: 7, "7": "BeidouD1",
6660
7200
  /**
6661
7201
  * BeiDou D2.
6662
7202
  */
6663
- BeidouD2: 4, "4": "BeidouD2",
7203
+ BeidouD2: 8, "8": "BeidouD2",
6664
7204
  });
6665
7205
  exports.NavMessage = NavMessage;
6666
7206
 
6667
7207
  /**
6668
- * One RINEX OBS epoch. Observation values are read through `RinexObs` methods.
7208
+ * Streaming NMEA epoch accumulator.
6669
7209
  */
6670
- class ObsEpoch {
6671
- static __wrap(ptr) {
6672
- const obj = Object.create(ObsEpoch.prototype);
6673
- obj.__wbg_ptr = ptr;
6674
- ObsEpochFinalization.register(obj, obj.__wbg_ptr, obj);
6675
- return obj;
6676
- }
7210
+ class NmeaAccumulator {
6677
7211
  __destroy_into_raw() {
6678
7212
  const ptr = this.__wbg_ptr;
6679
7213
  this.__wbg_ptr = 0;
6680
- ObsEpochFinalization.unregister(this);
7214
+ NmeaAccumulatorFinalization.unregister(this);
6681
7215
  return ptr;
6682
7216
  }
6683
7217
  free() {
6684
7218
  const ptr = this.__destroy_into_raw();
6685
- wasm.__wbg_obsepoch_free(ptr, 0);
7219
+ wasm.__wbg_nmeaaccumulator_free(ptr, 0);
6686
7220
  }
6687
7221
  /**
6688
- * Civil epoch in the file time scale.
6689
- * @returns {ObsEpochTime}
7222
+ * @returns {any}
6690
7223
  */
6691
- get epoch() {
6692
- const ret = wasm.obsepoch_epoch(this.__wbg_ptr);
6693
- return ObsEpochTime.__wrap(ret);
7224
+ finish() {
7225
+ const ret = wasm.nmeaaccumulator_finish(this.__wbg_ptr);
7226
+ if (ret[2]) {
7227
+ throw takeFromExternrefTable0(ret[1]);
7228
+ }
7229
+ return takeFromExternrefTable0(ret[0]);
6694
7230
  }
6695
7231
  /**
6696
- * RINEX epoch flag. `0` is a normal observation epoch.
6697
- * @returns {number}
7232
+ * @param {any} options
6698
7233
  */
6699
- get flag() {
6700
- const ret = wasm.obsepoch_flag(this.__wbg_ptr);
6701
- return ret;
7234
+ constructor(options) {
7235
+ const ret = wasm.nmeaaccumulator_new(options);
7236
+ if (ret[2]) {
7237
+ throw takeFromExternrefTable0(ret[1]);
7238
+ }
7239
+ this.__wbg_ptr = ret[0];
7240
+ NmeaAccumulatorFinalization.register(this, this.__wbg_ptr, this);
7241
+ return this;
6702
7242
  }
6703
7243
  /**
6704
- * Number of satellites present at this epoch.
6705
- * @returns {number}
7244
+ * @param {Uint8Array} bytes
7245
+ * @returns {any}
6706
7246
  */
6707
- get satelliteCount() {
6708
- const ret = wasm.obsepoch_satelliteCount(this.__wbg_ptr);
6709
- return ret >>> 0;
6710
- }
6711
- /**
6712
- * Satellite tokens present at this epoch.
7247
+ push(bytes) {
7248
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
7249
+ const len0 = WASM_VECTOR_LEN;
7250
+ const ret = wasm.nmeaaccumulator_push(this.__wbg_ptr, ptr0, len0);
7251
+ if (ret[2]) {
7252
+ throw takeFromExternrefTable0(ret[1]);
7253
+ }
7254
+ return takeFromExternrefTable0(ret[0]);
7255
+ }
7256
+ /**
7257
+ * @returns {number}
7258
+ */
7259
+ get retainedLength() {
7260
+ const ret = wasm.nmeaaccumulator_retainedLength(this.__wbg_ptr);
7261
+ return ret >>> 0;
7262
+ }
7263
+ }
7264
+ if (Symbol.dispose) NmeaAccumulator.prototype[Symbol.dispose] = NmeaAccumulator.prototype.free;
7265
+ exports.NmeaAccumulator = NmeaAccumulator;
7266
+
7267
+ /**
7268
+ * Parsed NMEA log.
7269
+ */
7270
+ class NmeaParseResult {
7271
+ static __wrap(ptr) {
7272
+ const obj = Object.create(NmeaParseResult.prototype);
7273
+ obj.__wbg_ptr = ptr;
7274
+ NmeaParseResultFinalization.register(obj, obj.__wbg_ptr, obj);
7275
+ return obj;
7276
+ }
7277
+ __destroy_into_raw() {
7278
+ const ptr = this.__wbg_ptr;
7279
+ this.__wbg_ptr = 0;
7280
+ NmeaParseResultFinalization.unregister(this);
7281
+ return ptr;
7282
+ }
7283
+ free() {
7284
+ const ptr = this.__destroy_into_raw();
7285
+ wasm.__wbg_nmeaparseresult_free(ptr, 0);
7286
+ }
7287
+ /**
7288
+ * @returns {any}
7289
+ */
7290
+ get diagnostics() {
7291
+ const ret = wasm.nmeaparseresult_diagnostics(this.__wbg_ptr);
7292
+ if (ret[2]) {
7293
+ throw takeFromExternrefTable0(ret[1]);
7294
+ }
7295
+ return takeFromExternrefTable0(ret[0]);
7296
+ }
7297
+ /**
7298
+ * @returns {number}
7299
+ */
7300
+ get epochCount() {
7301
+ const ret = wasm.nmeaparseresult_epochCount(this.__wbg_ptr);
7302
+ return ret >>> 0;
7303
+ }
7304
+ /**
7305
+ * @returns {any}
7306
+ */
7307
+ get epochs() {
7308
+ const ret = wasm.nmeaparseresult_epochs(this.__wbg_ptr);
7309
+ if (ret[2]) {
7310
+ throw takeFromExternrefTable0(ret[1]);
7311
+ }
7312
+ return takeFromExternrefTable0(ret[0]);
7313
+ }
7314
+ /**
7315
+ * @returns {number}
7316
+ */
7317
+ get sentenceCount() {
7318
+ const ret = wasm.nmeaparseresult_sentenceCount(this.__wbg_ptr);
7319
+ return ret >>> 0;
7320
+ }
7321
+ /**
7322
+ * @returns {any}
7323
+ */
7324
+ get sentences() {
7325
+ const ret = wasm.nmeaparseresult_sentences(this.__wbg_ptr);
7326
+ if (ret[2]) {
7327
+ throw takeFromExternrefTable0(ret[1]);
7328
+ }
7329
+ return takeFromExternrefTable0(ret[0]);
7330
+ }
7331
+ }
7332
+ if (Symbol.dispose) NmeaParseResult.prototype[Symbol.dispose] = NmeaParseResult.prototype.free;
7333
+ exports.NmeaParseResult = NmeaParseResult;
7334
+
7335
+ /**
7336
+ * Sans-IO NTRIP client state machine.
7337
+ */
7338
+ class NtripClientMachine {
7339
+ __destroy_into_raw() {
7340
+ const ptr = this.__wbg_ptr;
7341
+ this.__wbg_ptr = 0;
7342
+ NtripClientMachineFinalization.unregister(this);
7343
+ return ptr;
7344
+ }
7345
+ free() {
7346
+ const ptr = this.__destroy_into_raw();
7347
+ wasm.__wbg_ntripclientmachine_free(ptr, 0);
7348
+ }
7349
+ /**
7350
+ * @returns {Uint8Array}
7351
+ */
7352
+ connectionRequest() {
7353
+ const ret = wasm.ntripclientmachine_connectionRequest(this.__wbg_ptr);
7354
+ if (ret[3]) {
7355
+ throw takeFromExternrefTable0(ret[2]);
7356
+ }
7357
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
7358
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
7359
+ return v1;
7360
+ }
7361
+ /**
7362
+ * @returns {any}
7363
+ */
7364
+ finish() {
7365
+ const ret = wasm.ntripclientmachine_finish(this.__wbg_ptr);
7366
+ if (ret[2]) {
7367
+ throw takeFromExternrefTable0(ret[1]);
7368
+ }
7369
+ return takeFromExternrefTable0(ret[0]);
7370
+ }
7371
+ /**
7372
+ * @param {number} now_s
7373
+ * @param {any} position
7374
+ * @param {number} utc_seconds_of_day
7375
+ * @returns {any}
7376
+ */
7377
+ ggaMessage(now_s, position, utc_seconds_of_day) {
7378
+ const ret = wasm.ntripclientmachine_ggaMessage(this.__wbg_ptr, now_s, position, utc_seconds_of_day);
7379
+ if (ret[2]) {
7380
+ throw takeFromExternrefTable0(ret[1]);
7381
+ }
7382
+ return takeFromExternrefTable0(ret[0]);
7383
+ }
7384
+ /**
7385
+ * @param {any} config
7386
+ */
7387
+ constructor(config) {
7388
+ const ret = wasm.ntripclientmachine_new(config);
7389
+ if (ret[2]) {
7390
+ throw takeFromExternrefTable0(ret[1]);
7391
+ }
7392
+ this.__wbg_ptr = ret[0];
7393
+ NtripClientMachineFinalization.register(this, this.__wbg_ptr, this);
7394
+ return this;
7395
+ }
7396
+ /**
7397
+ * @param {Uint8Array} bytes
7398
+ * @returns {any}
7399
+ */
7400
+ push(bytes) {
7401
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
7402
+ const len0 = WASM_VECTOR_LEN;
7403
+ const ret = wasm.ntripclientmachine_push(this.__wbg_ptr, ptr0, len0);
7404
+ if (ret[2]) {
7405
+ throw takeFromExternrefTable0(ret[1]);
7406
+ }
7407
+ return takeFromExternrefTable0(ret[0]);
7408
+ }
7409
+ reset() {
7410
+ wasm.ntripclientmachine_reset(this.__wbg_ptr);
7411
+ }
7412
+ /**
7413
+ * @returns {NtripState}
7414
+ */
7415
+ get state() {
7416
+ const ret = wasm.ntripclientmachine_state(this.__wbg_ptr);
7417
+ return ret;
7418
+ }
7419
+ /**
7420
+ * @returns {string}
7421
+ */
7422
+ get stateLabel() {
7423
+ let deferred1_0;
7424
+ let deferred1_1;
7425
+ try {
7426
+ const ret = wasm.ntripclientmachine_stateLabel(this.__wbg_ptr);
7427
+ deferred1_0 = ret[0];
7428
+ deferred1_1 = ret[1];
7429
+ return getStringFromWasm0(ret[0], ret[1]);
7430
+ } finally {
7431
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
7432
+ }
7433
+ }
7434
+ }
7435
+ if (Symbol.dispose) NtripClientMachine.prototype[Symbol.dispose] = NtripClientMachine.prototype.free;
7436
+ exports.NtripClientMachine = NtripClientMachine;
7437
+
7438
+ /**
7439
+ * @enum {0 | 1 | 2 | 3 | 4 | 5}
7440
+ */
7441
+ const NtripState = Object.freeze({
7442
+ Idle: 0, "0": "Idle",
7443
+ AwaitingStatus: 1, "1": "AwaitingStatus",
7444
+ AwaitingHeaders: 2, "2": "AwaitingHeaders",
7445
+ Streaming: 3, "3": "Streaming",
7446
+ Sourcetable: 4, "4": "Sourcetable",
7447
+ Closed: 5, "5": "Closed",
7448
+ });
7449
+ exports.NtripState = NtripState;
7450
+
7451
+ /**
7452
+ * @enum {0 | 1}
7453
+ */
7454
+ const NtripVersion = Object.freeze({
7455
+ Rev1: 0, "0": "Rev1",
7456
+ Rev2: 1, "1": "Rev2",
7457
+ });
7458
+ exports.NtripVersion = NtripVersion;
7459
+
7460
+ /**
7461
+ * One RINEX OBS epoch. Observation values are read through `RinexObs` methods.
7462
+ */
7463
+ class ObsEpoch {
7464
+ static __wrap(ptr) {
7465
+ const obj = Object.create(ObsEpoch.prototype);
7466
+ obj.__wbg_ptr = ptr;
7467
+ ObsEpochFinalization.register(obj, obj.__wbg_ptr, obj);
7468
+ return obj;
7469
+ }
7470
+ __destroy_into_raw() {
7471
+ const ptr = this.__wbg_ptr;
7472
+ this.__wbg_ptr = 0;
7473
+ ObsEpochFinalization.unregister(this);
7474
+ return ptr;
7475
+ }
7476
+ free() {
7477
+ const ptr = this.__destroy_into_raw();
7478
+ wasm.__wbg_obsepoch_free(ptr, 0);
7479
+ }
7480
+ /**
7481
+ * Civil epoch in the file time scale.
7482
+ * @returns {ObsEpochTime}
7483
+ */
7484
+ get epoch() {
7485
+ const ret = wasm.obsepoch_epoch(this.__wbg_ptr);
7486
+ return ObsEpochTime.__wrap(ret);
7487
+ }
7488
+ /**
7489
+ * RINEX epoch flag. `0` is a normal observation epoch.
7490
+ * @returns {number}
7491
+ */
7492
+ get flag() {
7493
+ const ret = wasm.obsepoch_flag(this.__wbg_ptr);
7494
+ return ret;
7495
+ }
7496
+ /**
7497
+ * Number of satellites present at this epoch.
7498
+ * @returns {number}
7499
+ */
7500
+ get satelliteCount() {
7501
+ const ret = wasm.obsepoch_satelliteCount(this.__wbg_ptr);
7502
+ return ret >>> 0;
7503
+ }
7504
+ /**
7505
+ * Satellite tokens present at this epoch.
6713
7506
  * @returns {string[]}
6714
7507
  */
6715
7508
  get satellites() {
@@ -8172,6 +8965,14 @@ class OmmEpoch {
8172
8965
  const ret = wasm.ommepoch_day(this.__wbg_ptr);
8173
8966
  return ret >>> 0;
8174
8967
  }
8968
+ /**
8969
+ * Femtosecond remainder within the microsecond.
8970
+ * @returns {number}
8971
+ */
8972
+ get femtosecond() {
8973
+ const ret = wasm.ommepoch_femtosecond(this.__wbg_ptr);
8974
+ return ret >>> 0;
8975
+ }
8175
8976
  /**
8176
8977
  * Hour of day.
8177
8978
  * @returns {number}
@@ -8230,9 +9031,10 @@ class OmmEpoch {
8230
9031
  * @param {number} minute
8231
9032
  * @param {number} second
8232
9033
  * @param {number} microsecond
9034
+ * @param {number | null} [femtosecond]
8233
9035
  */
8234
- constructor(year, month, day, hour, minute, second, microsecond) {
8235
- const ret = wasm.ommepoch_new(year, month, day, hour, minute, second, microsecond);
9036
+ constructor(year, month, day, hour, minute, second, microsecond, femtosecond) {
9037
+ const ret = wasm.ommepoch_new(year, month, day, hour, minute, second, microsecond, isLikeNone(femtosecond) ? Number.MAX_SAFE_INTEGER : (femtosecond) >>> 0);
8236
9038
  if (ret[2]) {
8237
9039
  throw takeFromExternrefTable0(ret[1]);
8238
9040
  }
@@ -10387,6 +11189,88 @@ class RinexClock {
10387
11189
  if (Symbol.dispose) RinexClock.prototype[Symbol.dispose] = RinexClock.prototype.free;
10388
11190
  exports.RinexClock = RinexClock;
10389
11191
 
11192
+ /**
11193
+ * Navigation repair result.
11194
+ */
11195
+ class RinexNavRepair {
11196
+ static __wrap(ptr) {
11197
+ const obj = Object.create(RinexNavRepair.prototype);
11198
+ obj.__wbg_ptr = ptr;
11199
+ RinexNavRepairFinalization.register(obj, obj.__wbg_ptr, obj);
11200
+ return obj;
11201
+ }
11202
+ __destroy_into_raw() {
11203
+ const ptr = this.__wbg_ptr;
11204
+ this.__wbg_ptr = 0;
11205
+ RinexNavRepairFinalization.unregister(this);
11206
+ return ptr;
11207
+ }
11208
+ free() {
11209
+ const ptr = this.__destroy_into_raw();
11210
+ wasm.__wbg_rinexnavrepair_free(ptr, 0);
11211
+ }
11212
+ /**
11213
+ * @returns {any}
11214
+ */
11215
+ get actions() {
11216
+ const ret = wasm.rinexnavrepair_actions(this.__wbg_ptr);
11217
+ if (ret[2]) {
11218
+ throw takeFromExternrefTable0(ret[1]);
11219
+ }
11220
+ return takeFromExternrefTable0(ret[0]);
11221
+ }
11222
+ /**
11223
+ * @returns {IonoCorrectionsJs | undefined}
11224
+ */
11225
+ get iono() {
11226
+ const ret = wasm.rinexnavrepair_iono(this.__wbg_ptr);
11227
+ return ret === 0 ? undefined : IonoCorrectionsJs.__wrap(ret);
11228
+ }
11229
+ /**
11230
+ * @returns {number | undefined}
11231
+ */
11232
+ get leapSeconds() {
11233
+ const ret = wasm.rinexnavrepair_leapSeconds(this.__wbg_ptr);
11234
+ return ret[0] === 0 ? undefined : ret[1];
11235
+ }
11236
+ /**
11237
+ * @returns {BroadcastRecordJs[]}
11238
+ */
11239
+ get records() {
11240
+ const ret = wasm.rinexnavrepair_records(this.__wbg_ptr);
11241
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
11242
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
11243
+ return v1;
11244
+ }
11245
+ /**
11246
+ * @returns {any}
11247
+ */
11248
+ get remaining() {
11249
+ const ret = wasm.rinexnavrepair_remaining(this.__wbg_ptr);
11250
+ if (ret[2]) {
11251
+ throw takeFromExternrefTable0(ret[1]);
11252
+ }
11253
+ return takeFromExternrefTable0(ret[0]);
11254
+ }
11255
+ /**
11256
+ * @returns {string}
11257
+ */
11258
+ get repairedText() {
11259
+ let deferred1_0;
11260
+ let deferred1_1;
11261
+ try {
11262
+ const ret = wasm.rinexnavrepair_repairedText(this.__wbg_ptr);
11263
+ deferred1_0 = ret[0];
11264
+ deferred1_1 = ret[1];
11265
+ return getStringFromWasm0(ret[0], ret[1]);
11266
+ } finally {
11267
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
11268
+ }
11269
+ }
11270
+ }
11271
+ if (Symbol.dispose) RinexNavRepair.prototype[Symbol.dispose] = RinexNavRepair.prototype.free;
11272
+ exports.RinexNavRepair = RinexNavRepair;
11273
+
10390
11274
  /**
10391
11275
  * A parsed RINEX 3/4 observation file.
10392
11276
  */
@@ -10532,6 +11416,145 @@ class RinexObs {
10532
11416
  if (Symbol.dispose) RinexObs.prototype[Symbol.dispose] = RinexObs.prototype.free;
10533
11417
  exports.RinexObs = RinexObs;
10534
11418
 
11419
+ /**
11420
+ * Observation repair result.
11421
+ */
11422
+ class RinexObsRepair {
11423
+ static __wrap(ptr) {
11424
+ const obj = Object.create(RinexObsRepair.prototype);
11425
+ obj.__wbg_ptr = ptr;
11426
+ RinexObsRepairFinalization.register(obj, obj.__wbg_ptr, obj);
11427
+ return obj;
11428
+ }
11429
+ __destroy_into_raw() {
11430
+ const ptr = this.__wbg_ptr;
11431
+ this.__wbg_ptr = 0;
11432
+ RinexObsRepairFinalization.unregister(this);
11433
+ return ptr;
11434
+ }
11435
+ free() {
11436
+ const ptr = this.__destroy_into_raw();
11437
+ wasm.__wbg_rinexobsrepair_free(ptr, 0);
11438
+ }
11439
+ /**
11440
+ * @returns {any}
11441
+ */
11442
+ get actions() {
11443
+ const ret = wasm.rinexobsrepair_actions(this.__wbg_ptr);
11444
+ if (ret[2]) {
11445
+ throw takeFromExternrefTable0(ret[1]);
11446
+ }
11447
+ return takeFromExternrefTable0(ret[0]);
11448
+ }
11449
+ /**
11450
+ * @returns {boolean}
11451
+ */
11452
+ get decodedFromCrinex() {
11453
+ const ret = wasm.rinexobsrepair_decodedFromCrinex(this.__wbg_ptr);
11454
+ return ret !== 0;
11455
+ }
11456
+ /**
11457
+ * @returns {any}
11458
+ */
11459
+ get remaining() {
11460
+ const ret = wasm.rinexobsrepair_remaining(this.__wbg_ptr);
11461
+ if (ret[2]) {
11462
+ throw takeFromExternrefTable0(ret[1]);
11463
+ }
11464
+ return takeFromExternrefTable0(ret[0]);
11465
+ }
11466
+ /**
11467
+ * @returns {RinexObs}
11468
+ */
11469
+ get repaired() {
11470
+ const ret = wasm.rinexobsrepair_repaired(this.__wbg_ptr);
11471
+ return RinexObs.__wrap(ret);
11472
+ }
11473
+ /**
11474
+ * @returns {string}
11475
+ */
11476
+ get repairedText() {
11477
+ let deferred1_0;
11478
+ let deferred1_1;
11479
+ try {
11480
+ const ret = wasm.rinexobsrepair_repairedText(this.__wbg_ptr);
11481
+ deferred1_0 = ret[0];
11482
+ deferred1_1 = ret[1];
11483
+ return getStringFromWasm0(ret[0], ret[1]);
11484
+ } finally {
11485
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
11486
+ }
11487
+ }
11488
+ /**
11489
+ * @returns {string}
11490
+ */
11491
+ toCrinexString() {
11492
+ let deferred2_0;
11493
+ let deferred2_1;
11494
+ try {
11495
+ const ret = wasm.rinexobsrepair_toCrinexString(this.__wbg_ptr);
11496
+ var ptr1 = ret[0];
11497
+ var len1 = ret[1];
11498
+ if (ret[3]) {
11499
+ ptr1 = 0; len1 = 0;
11500
+ throw takeFromExternrefTable0(ret[2]);
11501
+ }
11502
+ deferred2_0 = ptr1;
11503
+ deferred2_1 = len1;
11504
+ return getStringFromWasm0(ptr1, len1);
11505
+ } finally {
11506
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
11507
+ }
11508
+ }
11509
+ }
11510
+ if (Symbol.dispose) RinexObsRepair.prototype[Symbol.dispose] = RinexObsRepair.prototype.free;
11511
+ exports.RinexObsRepair = RinexObsRepair;
11512
+
11513
+ /**
11514
+ * Stateful MSM lock-time tracker for deriving RINEX LLI continuity bits.
11515
+ */
11516
+ class RtcmLockTimeTracker {
11517
+ __destroy_into_raw() {
11518
+ const ptr = this.__wbg_ptr;
11519
+ this.__wbg_ptr = 0;
11520
+ RtcmLockTimeTrackerFinalization.unregister(this);
11521
+ return ptr;
11522
+ }
11523
+ free() {
11524
+ const ptr = this.__destroy_into_raw();
11525
+ wasm.__wbg_rtcmlocktimetracker_free(ptr, 0);
11526
+ }
11527
+ /**
11528
+ * Build an empty tracker.
11529
+ */
11530
+ constructor() {
11531
+ const ret = wasm.rtcmlocktimetracker_new();
11532
+ this.__wbg_ptr = ret;
11533
+ RtcmLockTimeTrackerFinalization.register(this, this.__wbg_ptr, this);
11534
+ return this;
11535
+ }
11536
+ /**
11537
+ * Derive LLI rows for one decoded MSM message object and advance state.
11538
+ * @param {any} message
11539
+ * @returns {any}
11540
+ */
11541
+ observe(message) {
11542
+ const ret = wasm.rtcmlocktimetracker_observe(this.__wbg_ptr, message);
11543
+ if (ret[2]) {
11544
+ throw takeFromExternrefTable0(ret[1]);
11545
+ }
11546
+ return takeFromExternrefTable0(ret[0]);
11547
+ }
11548
+ /**
11549
+ * Drop all per-cell lock history.
11550
+ */
11551
+ reset() {
11552
+ wasm.rtcmlocktimetracker_reset(this.__wbg_ptr);
11553
+ }
11554
+ }
11555
+ if (Symbol.dispose) RtcmLockTimeTracker.prototype[Symbol.dispose] = RtcmLockTimeTracker.prototype.free;
11556
+ exports.RtcmLockTimeTracker = RtcmLockTimeTracker;
11557
+
10535
11558
  /**
10536
11559
  * Validated fixed RTK baseline solution.
10537
11560
  */
@@ -11964,81 +12987,238 @@ class SpaceWeather {
11964
12987
  /**
11965
12988
  * @returns {number}
11966
12989
  */
11967
- get f107() {
11968
- const ret = wasm.spaceweather_f107(this.__wbg_ptr);
11969
- return ret;
12990
+ get f107() {
12991
+ const ret = wasm.spaceweather_f107(this.__wbg_ptr);
12992
+ return ret;
12993
+ }
12994
+ /**
12995
+ * @returns {number}
12996
+ */
12997
+ get f107a() {
12998
+ const ret = wasm.spaceweather_f107a(this.__wbg_ptr);
12999
+ return ret;
13000
+ }
13001
+ /**
13002
+ * @param {number | null} [f107]
13003
+ * @param {number | null} [f107a]
13004
+ * @param {number | null} [ap]
13005
+ */
13006
+ constructor(f107, f107a, ap) {
13007
+ const ret = wasm.spaceweather_new(!isLikeNone(f107), isLikeNone(f107) ? 0 : f107, !isLikeNone(f107a), isLikeNone(f107a) ? 0 : f107a, !isLikeNone(ap), isLikeNone(ap) ? 0 : ap);
13008
+ this.__wbg_ptr = ret;
13009
+ SpaceWeatherFinalization.register(this, this.__wbg_ptr, this);
13010
+ return this;
13011
+ }
13012
+ }
13013
+ if (Symbol.dispose) SpaceWeather.prototype[Symbol.dispose] = SpaceWeather.prototype.free;
13014
+ exports.SpaceWeather = SpaceWeather;
13015
+
13016
+ /**
13017
+ * Canonical quiet-Sun space-weather indices for NRLMSISE-00, mirrored from the
13018
+ * core so a JS caller can pass moderate-activity defaults to [`atmosphereDensity`]
13019
+ * without re-deriving the magic numbers.
13020
+ */
13021
+ class SpaceWeatherDefaults {
13022
+ static __wrap(ptr) {
13023
+ const obj = Object.create(SpaceWeatherDefaults.prototype);
13024
+ obj.__wbg_ptr = ptr;
13025
+ SpaceWeatherDefaultsFinalization.register(obj, obj.__wbg_ptr, obj);
13026
+ return obj;
13027
+ }
13028
+ __destroy_into_raw() {
13029
+ const ptr = this.__wbg_ptr;
13030
+ this.__wbg_ptr = 0;
13031
+ SpaceWeatherDefaultsFinalization.unregister(this);
13032
+ return ptr;
13033
+ }
13034
+ free() {
13035
+ const ptr = this.__destroy_into_raw();
13036
+ wasm.__wbg_spaceweatherdefaults_free(ptr, 0);
13037
+ }
13038
+ /**
13039
+ * Daily magnetic Ap index.
13040
+ * @returns {number}
13041
+ */
13042
+ get ap() {
13043
+ const ret = wasm.spaceweatherdefaults_ap(this.__wbg_ptr);
13044
+ return ret;
13045
+ }
13046
+ /**
13047
+ * Daily F10.7 solar radio flux.
13048
+ * @returns {number}
13049
+ */
13050
+ get f107() {
13051
+ const ret = wasm.spaceweatherdefaults_f107(this.__wbg_ptr);
13052
+ return ret;
13053
+ }
13054
+ /**
13055
+ * 81-day centred F10.7 average.
13056
+ * @returns {number}
13057
+ */
13058
+ get f107a() {
13059
+ const ret = wasm.spaceweatherdefaults_f107a(this.__wbg_ptr);
13060
+ return ret;
13061
+ }
13062
+ }
13063
+ if (Symbol.dispose) SpaceWeatherDefaults.prototype[Symbol.dispose] = SpaceWeatherDefaults.prototype.free;
13064
+ exports.SpaceWeatherDefaults = SpaceWeatherDefaults;
13065
+
13066
+ /**
13067
+ * Parsed CelesTrak CSSI space-weather table.
13068
+ */
13069
+ class SpaceWeatherTable {
13070
+ static __wrap(ptr) {
13071
+ const obj = Object.create(SpaceWeatherTable.prototype);
13072
+ obj.__wbg_ptr = ptr;
13073
+ SpaceWeatherTableFinalization.register(obj, obj.__wbg_ptr, obj);
13074
+ return obj;
13075
+ }
13076
+ __destroy_into_raw() {
13077
+ const ptr = this.__wbg_ptr;
13078
+ this.__wbg_ptr = 0;
13079
+ SpaceWeatherTableFinalization.unregister(this);
13080
+ return ptr;
13081
+ }
13082
+ free() {
13083
+ const ptr = this.__destroy_into_raw();
13084
+ wasm.__wbg_spaceweathertable_free(ptr, 0);
13085
+ }
13086
+ /**
13087
+ * @param {number} epoch_j2000_s
13088
+ * @returns {Float64Array}
13089
+ */
13090
+ apArrayAt(epoch_j2000_s) {
13091
+ const ret = wasm.spaceweathertable_apArrayAt(this.__wbg_ptr, epoch_j2000_s);
13092
+ if (ret[3]) {
13093
+ throw takeFromExternrefTable0(ret[2]);
13094
+ }
13095
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
13096
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
13097
+ return v1;
13098
+ }
13099
+ /**
13100
+ * @returns {any}
13101
+ */
13102
+ get coverage() {
13103
+ const ret = wasm.spaceweathertable_coverage(this.__wbg_ptr);
13104
+ if (ret[2]) {
13105
+ throw takeFromExternrefTable0(ret[1]);
13106
+ }
13107
+ return takeFromExternrefTable0(ret[0]);
13108
+ }
13109
+ /**
13110
+ * @param {number} year
13111
+ * @param {number} month
13112
+ * @param {number} day
13113
+ * @returns {any}
13114
+ */
13115
+ day(year, month, day) {
13116
+ const ret = wasm.spaceweathertable_day(this.__wbg_ptr, year, month, day);
13117
+ if (ret[2]) {
13118
+ throw takeFromExternrefTable0(ret[1]);
13119
+ }
13120
+ return takeFromExternrefTable0(ret[0]);
13121
+ }
13122
+ /**
13123
+ * @returns {number}
13124
+ */
13125
+ get dayCount() {
13126
+ const ret = wasm.spaceweathertable_dayCount(this.__wbg_ptr);
13127
+ return ret >>> 0;
13128
+ }
13129
+ /**
13130
+ * @returns {any}
13131
+ */
13132
+ days() {
13133
+ const ret = wasm.spaceweathertable_days(this.__wbg_ptr);
13134
+ if (ret[2]) {
13135
+ throw takeFromExternrefTable0(ret[1]);
13136
+ }
13137
+ return takeFromExternrefTable0(ret[0]);
13138
+ }
13139
+ /**
13140
+ * @returns {any}
13141
+ */
13142
+ get diagnostics() {
13143
+ const ret = wasm.spaceweathertable_diagnostics(this.__wbg_ptr);
13144
+ if (ret[2]) {
13145
+ throw takeFromExternrefTable0(ret[1]);
13146
+ }
13147
+ return takeFromExternrefTable0(ret[0]);
13148
+ }
13149
+ /**
13150
+ * @returns {any}
13151
+ */
13152
+ monthly() {
13153
+ const ret = wasm.spaceweathertable_monthly(this.__wbg_ptr);
13154
+ if (ret[2]) {
13155
+ throw takeFromExternrefTable0(ret[1]);
13156
+ }
13157
+ return takeFromExternrefTable0(ret[0]);
11970
13158
  }
11971
13159
  /**
11972
13160
  * @returns {number}
11973
13161
  */
11974
- get f107a() {
11975
- const ret = wasm.spaceweather_f107a(this.__wbg_ptr);
11976
- return ret;
13162
+ get monthlyCount() {
13163
+ const ret = wasm.spaceweathertable_monthlyCount(this.__wbg_ptr);
13164
+ return ret >>> 0;
11977
13165
  }
11978
13166
  /**
11979
- * @param {number | null} [f107]
11980
- * @param {number | null} [f107a]
11981
- * @param {number | null} [ap]
13167
+ * @param {number} epoch_j2000_s
13168
+ * @param {any} policy
13169
+ * @returns {any}
11982
13170
  */
11983
- constructor(f107, f107a, ap) {
11984
- const ret = wasm.spaceweather_new(!isLikeNone(f107), isLikeNone(f107) ? 0 : f107, !isLikeNone(f107a), isLikeNone(f107a) ? 0 : f107a, !isLikeNone(ap), isLikeNone(ap) ? 0 : ap);
11985
- this.__wbg_ptr = ret;
11986
- SpaceWeatherFinalization.register(this, this.__wbg_ptr, this);
11987
- return this;
11988
- }
11989
- }
11990
- if (Symbol.dispose) SpaceWeather.prototype[Symbol.dispose] = SpaceWeather.prototype.free;
11991
- exports.SpaceWeather = SpaceWeather;
11992
-
11993
- /**
11994
- * Canonical quiet-Sun space-weather indices for NRLMSISE-00, mirrored from the
11995
- * core so a JS caller can pass moderate-activity defaults to [`atmosphereDensity`]
11996
- * without re-deriving the magic numbers.
11997
- */
11998
- class SpaceWeatherDefaults {
11999
- static __wrap(ptr) {
12000
- const obj = Object.create(SpaceWeatherDefaults.prototype);
12001
- obj.__wbg_ptr = ptr;
12002
- SpaceWeatherDefaultsFinalization.register(obj, obj.__wbg_ptr, obj);
12003
- return obj;
12004
- }
12005
- __destroy_into_raw() {
12006
- const ptr = this.__wbg_ptr;
12007
- this.__wbg_ptr = 0;
12008
- SpaceWeatherDefaultsFinalization.unregister(this);
12009
- return ptr;
12010
- }
12011
- free() {
12012
- const ptr = this.__destroy_into_raw();
12013
- wasm.__wbg_spaceweatherdefaults_free(ptr, 0);
13171
+ sampleAt(epoch_j2000_s, policy) {
13172
+ const ret = wasm.spaceweathertable_sampleAt(this.__wbg_ptr, epoch_j2000_s, policy);
13173
+ if (ret[2]) {
13174
+ throw takeFromExternrefTable0(ret[1]);
13175
+ }
13176
+ return takeFromExternrefTable0(ret[0]);
12014
13177
  }
12015
13178
  /**
12016
- * Daily magnetic Ap index.
12017
- * @returns {number}
13179
+ * @param {number} epoch_j2000_s
13180
+ * @returns {any}
12018
13181
  */
12019
- get ap() {
12020
- const ret = wasm.spaceweatherdefaults_ap(this.__wbg_ptr);
12021
- return ret;
13182
+ spaceWeatherAt(epoch_j2000_s) {
13183
+ const ret = wasm.spaceweathertable_spaceWeatherAt(this.__wbg_ptr, epoch_j2000_s);
13184
+ if (ret[2]) {
13185
+ throw takeFromExternrefTable0(ret[1]);
13186
+ }
13187
+ return takeFromExternrefTable0(ret[0]);
12022
13188
  }
12023
13189
  /**
12024
- * Daily F10.7 solar radio flux.
12025
- * @returns {number}
13190
+ * @returns {string}
12026
13191
  */
12027
- get f107() {
12028
- const ret = wasm.spaceweatherdefaults_f107(this.__wbg_ptr);
12029
- return ret;
13192
+ toCsv() {
13193
+ let deferred1_0;
13194
+ let deferred1_1;
13195
+ try {
13196
+ const ret = wasm.spaceweathertable_toCsv(this.__wbg_ptr);
13197
+ deferred1_0 = ret[0];
13198
+ deferred1_1 = ret[1];
13199
+ return getStringFromWasm0(ret[0], ret[1]);
13200
+ } finally {
13201
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
13202
+ }
12030
13203
  }
12031
13204
  /**
12032
- * 81-day centred F10.7 average.
12033
- * @returns {number}
13205
+ * @returns {string}
12034
13206
  */
12035
- get f107a() {
12036
- const ret = wasm.spaceweatherdefaults_f107a(this.__wbg_ptr);
12037
- return ret;
13207
+ toTxt() {
13208
+ let deferred1_0;
13209
+ let deferred1_1;
13210
+ try {
13211
+ const ret = wasm.spaceweathertable_toTxt(this.__wbg_ptr);
13212
+ deferred1_0 = ret[0];
13213
+ deferred1_1 = ret[1];
13214
+ return getStringFromWasm0(ret[0], ret[1]);
13215
+ } finally {
13216
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
13217
+ }
12038
13218
  }
12039
13219
  }
12040
- if (Symbol.dispose) SpaceWeatherDefaults.prototype[Symbol.dispose] = SpaceWeatherDefaults.prototype.free;
12041
- exports.SpaceWeatherDefaults = SpaceWeatherDefaults;
13220
+ if (Symbol.dispose) SpaceWeatherTable.prototype[Symbol.dispose] = SpaceWeatherTable.prototype.free;
13221
+ exports.SpaceWeatherTable = SpaceWeatherTable;
12042
13222
 
12043
13223
  /**
12044
13224
  * A parsed in-memory JPL/NAIF SPK kernel.
@@ -12585,6 +13765,22 @@ class SsrCorrectionStore {
12585
13765
  if (Symbol.dispose) SsrCorrectionStore.prototype[Symbol.dispose] = SsrCorrectionStore.prototype.free;
12586
13766
  exports.SsrCorrectionStore = SsrCorrectionStore;
12587
13767
 
13768
+ /**
13769
+ * Source stream for engineering-unit SSR corrections.
13770
+ * @enum {0 | 1}
13771
+ */
13772
+ const SsrSource = Object.freeze({
13773
+ /**
13774
+ * RTCM SSR messages.
13775
+ */
13776
+ RtcmSsr: 0, "0": "RtcmSsr",
13777
+ /**
13778
+ * Galileo High Accuracy Service messages.
13779
+ */
13780
+ GalileoHas: 1, "1": "GalileoHas",
13781
+ });
13782
+ exports.SsrSource = SsrSource;
13783
+
12588
13784
  /**
12589
13785
  * A batch of Sun and Moon positions, one per epoch: flat row-major `sun` and
12590
13786
  * `moon` `Float64Array`s of length `3 * epochCount`, in **metres**.
@@ -13017,6 +14213,96 @@ class Tle {
13017
14213
  if (Symbol.dispose) Tle.prototype[Symbol.dispose] = Tle.prototype.free;
13018
14214
  exports.Tle = Tle;
13019
14215
 
14216
+ /**
14217
+ * Result of fitting a TLE to TEME samples.
14218
+ */
14219
+ class TleFit {
14220
+ static __wrap(ptr) {
14221
+ const obj = Object.create(TleFit.prototype);
14222
+ obj.__wbg_ptr = ptr;
14223
+ TleFitFinalization.register(obj, obj.__wbg_ptr, obj);
14224
+ return obj;
14225
+ }
14226
+ __destroy_into_raw() {
14227
+ const ptr = this.__wbg_ptr;
14228
+ this.__wbg_ptr = 0;
14229
+ TleFitFinalization.unregister(this);
14230
+ return ptr;
14231
+ }
14232
+ free() {
14233
+ const ptr = this.__destroy_into_raw();
14234
+ wasm.__wbg_tlefit_free(ptr, 0);
14235
+ }
14236
+ /**
14237
+ * @returns {any}
14238
+ */
14239
+ get elements() {
14240
+ const ret = wasm.tlefit_elements(this.__wbg_ptr);
14241
+ if (ret[2]) {
14242
+ throw takeFromExternrefTable0(ret[1]);
14243
+ }
14244
+ return takeFromExternrefTable0(ret[0]);
14245
+ }
14246
+ /**
14247
+ * @returns {string}
14248
+ */
14249
+ get line1() {
14250
+ let deferred1_0;
14251
+ let deferred1_1;
14252
+ try {
14253
+ const ret = wasm.tlefit_line1(this.__wbg_ptr);
14254
+ deferred1_0 = ret[0];
14255
+ deferred1_1 = ret[1];
14256
+ return getStringFromWasm0(ret[0], ret[1]);
14257
+ } finally {
14258
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
14259
+ }
14260
+ }
14261
+ /**
14262
+ * @returns {string}
14263
+ */
14264
+ get line2() {
14265
+ let deferred1_0;
14266
+ let deferred1_1;
14267
+ try {
14268
+ const ret = wasm.tlefit_line2(this.__wbg_ptr);
14269
+ deferred1_0 = ret[0];
14270
+ deferred1_1 = ret[1];
14271
+ return getStringFromWasm0(ret[0], ret[1]);
14272
+ } finally {
14273
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
14274
+ }
14275
+ }
14276
+ /**
14277
+ * @returns {Omm}
14278
+ */
14279
+ get omm() {
14280
+ const ret = wasm.tlefit_omm(this.__wbg_ptr);
14281
+ return Omm.__wrap(ret);
14282
+ }
14283
+ /**
14284
+ * @returns {any}
14285
+ */
14286
+ get stats() {
14287
+ const ret = wasm.tlefit_stats(this.__wbg_ptr);
14288
+ if (ret[2]) {
14289
+ throw takeFromExternrefTable0(ret[1]);
14290
+ }
14291
+ return takeFromExternrefTable0(ret[0]);
14292
+ }
14293
+ /**
14294
+ * @returns {string[]}
14295
+ */
14296
+ toLines() {
14297
+ const ret = wasm.tlefit_toLines(this.__wbg_ptr);
14298
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
14299
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
14300
+ return v1;
14301
+ }
14302
+ }
14303
+ if (Symbol.dispose) TleFit.prototype[Symbol.dispose] = TleFit.prototype.free;
14304
+ exports.TleFit = TleFit;
14305
+
13020
14306
  /**
13021
14307
  * TEME states from a batched SGP4 propagation. Each array is flat row-major,
13022
14308
  * length `3 * epochCount`.
@@ -13773,6 +15059,17 @@ function cn0(eirp_dbw, fspl_db, receiver_gt_dbk, other_losses_db) {
13773
15059
  }
13774
15060
  exports.cn0 = cn0;
13775
15061
 
15062
+ /**
15063
+ * Nominal GPS/QZSS CNAV URA meters for an ED/NED0 index.
15064
+ * @param {number} index
15065
+ * @returns {number | undefined}
15066
+ */
15067
+ function cnavUraNominalM(index) {
15068
+ const ret = wasm.cnavUraNominalM(index);
15069
+ return ret[0] === 0 ? undefined : ret[1];
15070
+ }
15071
+ exports.cnavUraNominalM = cnavUraNominalM;
15072
+
13776
15073
  /**
13777
15074
  * @param {any} coe
13778
15075
  * @param {RetrogradeFactor | null} [factor]
@@ -14124,6 +15421,27 @@ function decodeRtcmMessage(body) {
14124
15421
  }
14125
15422
  exports.decodeRtcmMessage = decodeRtcmMessage;
14126
15423
 
15424
+ /**
15425
+ * Decode an RTCM 3 byte stream into messages plus stream diagnostics.
15426
+ *
15427
+ * The `messages` array has the same object form as [`decodeRtcm`].
15428
+ * `diagnostics.resyncBytes` counts skipped bytes while finding valid frames,
15429
+ * and `diagnostics.skippedFrames` reports CRC-valid frames whose bodies could
15430
+ * not be decoded.
15431
+ * @param {Uint8Array} bytes
15432
+ * @returns {any}
15433
+ */
15434
+ function decodeRtcmStream(bytes) {
15435
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
15436
+ const len0 = WASM_VECTOR_LEN;
15437
+ const ret = wasm.decodeRtcmStream(ptr0, len0);
15438
+ if (ret[2]) {
15439
+ throw takeFromExternrefTable0(ret[1]);
15440
+ }
15441
+ return takeFromExternrefTable0(ret[0]);
15442
+ }
15443
+ exports.decodeRtcmStream = decodeRtcmStream;
15444
+
14127
15445
  /**
14128
15446
  * @param {Uint8Array} bytes
14129
15447
  * @param {string | null} [form]
@@ -14510,6 +15828,42 @@ function egm96Undulation(lat_rad, lon_rad) {
14510
15828
  }
14511
15829
  exports.egm96Undulation = egm96Undulation;
14512
15830
 
15831
+ /**
15832
+ * Batch EGM96 undulation lookup for flat `[latDeg, lonDeg, ...]` pairs.
15833
+ * @param {Float64Array} points_deg
15834
+ * @returns {Float64Array}
15835
+ */
15836
+ function egm96UndulationsDeg(points_deg) {
15837
+ const ptr0 = passArrayF64ToWasm0(points_deg, wasm.__wbindgen_malloc);
15838
+ const len0 = WASM_VECTOR_LEN;
15839
+ const ret = wasm.egm96UndulationsDeg(ptr0, len0);
15840
+ if (ret[3]) {
15841
+ throw takeFromExternrefTable0(ret[2]);
15842
+ }
15843
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
15844
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
15845
+ return v2;
15846
+ }
15847
+ exports.egm96UndulationsDeg = egm96UndulationsDeg;
15848
+
15849
+ /**
15850
+ * Batch EGM96 undulation lookup for flat `[latRad, lonRad, ...]` pairs.
15851
+ * @param {Float64Array} points_rad
15852
+ * @returns {Float64Array}
15853
+ */
15854
+ function egm96UndulationsRad(points_rad) {
15855
+ const ptr0 = passArrayF64ToWasm0(points_rad, wasm.__wbindgen_malloc);
15856
+ const len0 = WASM_VECTOR_LEN;
15857
+ const ret = wasm.egm96UndulationsRad(ptr0, len0);
15858
+ if (ret[3]) {
15859
+ throw takeFromExternrefTable0(ret[2]);
15860
+ }
15861
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
15862
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
15863
+ return v2;
15864
+ }
15865
+ exports.egm96UndulationsRad = egm96UndulationsRad;
15866
+
14513
15867
  /**
14514
15868
  * Effective isotropic radiated power, dBW.
14515
15869
  * @param {number} tx_power_dbm
@@ -14733,6 +16087,24 @@ function estimateDecay(drag, request) {
14733
16087
  }
14734
16088
  exports.estimateDecay = estimateDecay;
14735
16089
 
16090
+ /**
16091
+ * Estimate decay using per-epoch values from a parsed space-weather table.
16092
+ * @param {DragForce} drag
16093
+ * @param {SpaceWeatherTable} table
16094
+ * @param {any} request
16095
+ * @returns {any}
16096
+ */
16097
+ function estimateDecayWithSpaceWeather(drag, table, request) {
16098
+ _assertClass(drag, DragForce);
16099
+ _assertClass(table, SpaceWeatherTable);
16100
+ const ret = wasm.estimateDecayWithSpaceWeather(drag.__wbg_ptr, table.__wbg_ptr, request);
16101
+ if (ret[2]) {
16102
+ throw takeFromExternrefTable0(ret[1]);
16103
+ }
16104
+ return takeFromExternrefTable0(ret[0]);
16105
+ }
16106
+ exports.estimateDecayWithSpaceWeather = estimateDecayWithSpaceWeather;
16107
+
14736
16108
  /**
14737
16109
  * Find Moon elevation threshold crossings (moonrise / moonset) over a UTC
14738
16110
  * window.
@@ -14992,6 +16364,21 @@ function fitReducedOrbitTle(tle, options) {
14992
16364
  }
14993
16365
  exports.fitReducedOrbitTle = fitReducedOrbitTle;
14994
16366
 
16367
+ /**
16368
+ * Fit SGP4 mean elements and optional B* to TEME state samples.
16369
+ * @param {any} samples
16370
+ * @param {any} config
16371
+ * @returns {TleFit}
16372
+ */
16373
+ function fitTle(samples, config) {
16374
+ const ret = wasm.fitTle(samples, config);
16375
+ if (ret[2]) {
16376
+ throw takeFromExternrefTable0(ret[1]);
16377
+ }
16378
+ return TleFit.__wrap(ret[0]);
16379
+ }
16380
+ exports.fitTle = fitTle;
16381
+
14995
16382
  /**
14996
16383
  * Fix Melbourne-Wubbena wide-lane ambiguities over a dual-frequency RTK arc.
14997
16384
  *
@@ -15241,11 +16628,49 @@ exports.geodeticToEcef = geodeticToEcef;
15241
16628
  * @param {number} lon_rad
15242
16629
  * @returns {number}
15243
16630
  */
15244
- function geoidUndulation(lat_rad, lon_rad) {
15245
- const ret = wasm.geoidUndulation(lat_rad, lon_rad);
15246
- return ret;
16631
+ function geoidUndulation(lat_rad, lon_rad) {
16632
+ const ret = wasm.geoidUndulation(lat_rad, lon_rad);
16633
+ return ret;
16634
+ }
16635
+ exports.geoidUndulation = geoidUndulation;
16636
+
16637
+ /**
16638
+ * Batch coarse built-in undulation lookup for flat `[latDeg, lonDeg, ...]`
16639
+ * pairs.
16640
+ * @param {Float64Array} points_deg
16641
+ * @returns {Float64Array}
16642
+ */
16643
+ function geoidUndulationsDeg(points_deg) {
16644
+ const ptr0 = passArrayF64ToWasm0(points_deg, wasm.__wbindgen_malloc);
16645
+ const len0 = WASM_VECTOR_LEN;
16646
+ const ret = wasm.geoidUndulationsDeg(ptr0, len0);
16647
+ if (ret[3]) {
16648
+ throw takeFromExternrefTable0(ret[2]);
16649
+ }
16650
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
16651
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
16652
+ return v2;
16653
+ }
16654
+ exports.geoidUndulationsDeg = geoidUndulationsDeg;
16655
+
16656
+ /**
16657
+ * Batch coarse built-in undulation lookup for flat `[latRad, lonRad, ...]`
16658
+ * pairs.
16659
+ * @param {Float64Array} points_rad
16660
+ * @returns {Float64Array}
16661
+ */
16662
+ function geoidUndulationsRad(points_rad) {
16663
+ const ptr0 = passArrayF64ToWasm0(points_rad, wasm.__wbindgen_malloc);
16664
+ const len0 = WASM_VECTOR_LEN;
16665
+ const ret = wasm.geoidUndulationsRad(ptr0, len0);
16666
+ if (ret[3]) {
16667
+ throw takeFromExternrefTable0(ret[2]);
16668
+ }
16669
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
16670
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
16671
+ return v2;
15247
16672
  }
15248
- exports.geoidUndulation = geoidUndulation;
16673
+ exports.geoidUndulationsRad = geoidUndulationsRad;
15249
16674
 
15250
16675
  /**
15251
16676
  * Geometry-free phase combination `L_GF = L1 - L2`, metres.
@@ -16009,6 +17434,38 @@ function leastSquaresDropOne(request) {
16009
17434
  }
16010
17435
  exports.leastSquaresDropOne = leastSquaresDropOne;
16011
17436
 
17437
+ /**
17438
+ * Lint RINEX navigation text.
17439
+ * @param {Uint8Array} bytes
17440
+ * @returns {any}
17441
+ */
17442
+ function lintRinexNav(bytes) {
17443
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
17444
+ const len0 = WASM_VECTOR_LEN;
17445
+ const ret = wasm.lintRinexNav(ptr0, len0);
17446
+ if (ret[2]) {
17447
+ throw takeFromExternrefTable0(ret[1]);
17448
+ }
17449
+ return takeFromExternrefTable0(ret[0]);
17450
+ }
17451
+ exports.lintRinexNav = lintRinexNav;
17452
+
17453
+ /**
17454
+ * Lint RINEX observation text.
17455
+ * @param {Uint8Array} bytes
17456
+ * @returns {any}
17457
+ */
17458
+ function lintRinexObs(bytes) {
17459
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
17460
+ const len0 = WASM_VECTOR_LEN;
17461
+ const ret = wasm.lintRinexObs(ptr0, len0);
17462
+ if (ret[2]) {
17463
+ throw takeFromExternrefTable0(ret[1]);
17464
+ }
17465
+ return takeFromExternrefTable0(ret[0]);
17466
+ }
17467
+ exports.lintRinexObs = lintRinexObs;
17468
+
16012
17469
  /**
16013
17470
  * Decode LNAV subframes 1-3 back into engineering-unit parameters.
16014
17471
  *
@@ -16803,6 +18260,47 @@ function nequickGStecTecu(_eval) {
16803
18260
  }
16804
18261
  exports.nequickGStecTecu = nequickGStecTecu;
16805
18262
 
18263
+ /**
18264
+ * Parse bytes and return grouped epoch snapshots directly.
18265
+ * @param {Uint8Array} bytes
18266
+ * @returns {any}
18267
+ */
18268
+ function nmeaEpochs(bytes) {
18269
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18270
+ const len0 = WASM_VECTOR_LEN;
18271
+ const ret = wasm.nmeaEpochs(ptr0, len0);
18272
+ if (ret[2]) {
18273
+ throw takeFromExternrefTable0(ret[1]);
18274
+ }
18275
+ return takeFromExternrefTable0(ret[0]);
18276
+ }
18277
+ exports.nmeaEpochs = nmeaEpochs;
18278
+
18279
+ /**
18280
+ * Write a GGA sentence from a JS object.
18281
+ * @param {any} request
18282
+ * @returns {string}
18283
+ */
18284
+ function nmeaWriteGga(request) {
18285
+ let deferred2_0;
18286
+ let deferred2_1;
18287
+ try {
18288
+ const ret = wasm.nmeaWriteGga(request);
18289
+ var ptr1 = ret[0];
18290
+ var len1 = ret[1];
18291
+ if (ret[3]) {
18292
+ ptr1 = 0; len1 = 0;
18293
+ throw takeFromExternrefTable0(ret[2]);
18294
+ }
18295
+ deferred2_0 = ptr1;
18296
+ deferred2_1 = len1;
18297
+ return getStringFromWasm0(ptr1, len1);
18298
+ } finally {
18299
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
18300
+ }
18301
+ }
18302
+ exports.nmeaWriteGga = nmeaWriteGga;
18303
+
16806
18304
  /**
16807
18305
  * Equal-variance noise amplification of the ionosphere-free combination.
16808
18306
  * @param {number} f1_hz
@@ -16849,6 +18347,22 @@ function normalCovariance(jacobian, m, n, variance_scale) {
16849
18347
  }
16850
18348
  exports.normalCovariance = normalCovariance;
16851
18349
 
18350
+ /**
18351
+ * Build the NTRIP connection request bytes for a config object.
18352
+ * @param {any} config
18353
+ * @returns {Uint8Array}
18354
+ */
18355
+ function ntripRequestBytes(config) {
18356
+ const ret = wasm.ntripRequestBytes(config);
18357
+ if (ret[3]) {
18358
+ throw takeFromExternrefTable0(ret[2]);
18359
+ }
18360
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
18361
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
18362
+ return v1;
18363
+ }
18364
+ exports.ntripRequestBytes = ntripRequestBytes;
18365
+
16852
18366
  /**
16853
18367
  * Predict observables for one satellite from a broadcast ephemeris store.
16854
18368
  * Delegates to `sidereon_core::observables::predict`.
@@ -16917,6 +18431,22 @@ function observationKindLabel(kind) {
16917
18431
  }
16918
18432
  exports.observationKindLabel = observationKindLabel;
16919
18433
 
18434
+ /**
18435
+ * Aggregate observation QC for a parsed RINEX OBS product.
18436
+ * @param {RinexObs} obs
18437
+ * @param {any} options
18438
+ * @returns {any}
18439
+ */
18440
+ function observationQc(obs, options) {
18441
+ _assertClass(obs, RinexObs);
18442
+ const ret = wasm.observationQc(obs.__wbg_ptr, options);
18443
+ if (ret[2]) {
18444
+ throw takeFromExternrefTable0(ret[1]);
18445
+ }
18446
+ return takeFromExternrefTable0(ret[0]);
18447
+ }
18448
+ exports.observationQc = observationQc;
18449
+
16920
18450
  /**
16921
18451
  * Observe `"sun"` or `"moon"` from a geodetic station at a UTC unix microsecond epoch.
16922
18452
  * @param {any} station
@@ -17101,6 +18631,35 @@ function parseNavcen(html) {
17101
18631
  }
17102
18632
  exports.parseNavcen = parseNavcen;
17103
18633
 
18634
+ /**
18635
+ * Parse NMEA sentences from bytes.
18636
+ * @param {Uint8Array} bytes
18637
+ * @returns {NmeaParseResult}
18638
+ */
18639
+ function parseNmea(bytes) {
18640
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18641
+ const len0 = WASM_VECTOR_LEN;
18642
+ const ret = wasm.parseNmea(ptr0, len0);
18643
+ return NmeaParseResult.__wrap(ret);
18644
+ }
18645
+ exports.parseNmea = parseNmea;
18646
+
18647
+ /**
18648
+ * Parse NTRIP sourcetable text from UTF-8 bytes.
18649
+ * @param {Uint8Array} bytes
18650
+ * @returns {any}
18651
+ */
18652
+ function parseNtripSourcetable(bytes) {
18653
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18654
+ const len0 = WASM_VECTOR_LEN;
18655
+ const ret = wasm.parseNtripSourcetable(ptr0, len0);
18656
+ if (ret[2]) {
18657
+ throw takeFromExternrefTable0(ret[1]);
18658
+ }
18659
+ return takeFromExternrefTable0(ret[0]);
18660
+ }
18661
+ exports.parseNtripSourcetable = parseNtripSourcetable;
18662
+
17104
18663
  /**
17105
18664
  * Parse CCSDS OEM KVN text. The KVN reader is forgiving: malformed ephemeris
17106
18665
  * lines are skipped and counted in `skippedStates`. Throws an `Error` on a
@@ -17352,6 +18911,54 @@ function parseRinexObs(bytes) {
17352
18911
  }
17353
18912
  exports.parseRinexObs = parseRinexObs;
17354
18913
 
18914
+ /**
18915
+ * Parse either CSV or fixed-width TXT space-weather bytes.
18916
+ * @param {Uint8Array} bytes
18917
+ * @returns {SpaceWeatherTable}
18918
+ */
18919
+ function parseSpaceWeather(bytes) {
18920
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18921
+ const len0 = WASM_VECTOR_LEN;
18922
+ const ret = wasm.parseSpaceWeather(ptr0, len0);
18923
+ if (ret[2]) {
18924
+ throw takeFromExternrefTable0(ret[1]);
18925
+ }
18926
+ return SpaceWeatherTable.__wrap(ret[0]);
18927
+ }
18928
+ exports.parseSpaceWeather = parseSpaceWeather;
18929
+
18930
+ /**
18931
+ * Parse CelesTrak CSSI CSV space-weather text.
18932
+ * @param {string} text
18933
+ * @returns {SpaceWeatherTable}
18934
+ */
18935
+ function parseSpaceWeatherCsv(text) {
18936
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
18937
+ const len0 = WASM_VECTOR_LEN;
18938
+ const ret = wasm.parseSpaceWeatherCsv(ptr0, len0);
18939
+ if (ret[2]) {
18940
+ throw takeFromExternrefTable0(ret[1]);
18941
+ }
18942
+ return SpaceWeatherTable.__wrap(ret[0]);
18943
+ }
18944
+ exports.parseSpaceWeatherCsv = parseSpaceWeatherCsv;
18945
+
18946
+ /**
18947
+ * Parse CelesTrak CSSI fixed-width TXT space-weather text.
18948
+ * @param {string} text
18949
+ * @returns {SpaceWeatherTable}
18950
+ */
18951
+ function parseSpaceWeatherTxt(text) {
18952
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
18953
+ const len0 = WASM_VECTOR_LEN;
18954
+ const ret = wasm.parseSpaceWeatherTxt(ptr0, len0);
18955
+ if (ret[2]) {
18956
+ throw takeFromExternrefTable0(ret[1]);
18957
+ }
18958
+ return SpaceWeatherTable.__wrap(ret[0]);
18959
+ }
18960
+ exports.parseSpaceWeatherTxt = parseSpaceWeatherTxt;
18961
+
17355
18962
  /**
17356
18963
  * Parse a multi-record TLE file (CelesTrak / Space-Track style) into named,
17357
18964
  * initialized [`Tle`] instances. Handles bare 2-line sets, 3-line name+line1+line2
@@ -17647,6 +19254,20 @@ function propagateBatch(satellites, epochs_unix_us) {
17647
19254
  }
17648
19255
  exports.propagateBatch = propagateBatch;
17649
19256
 
19257
+ /**
19258
+ * Propagate an ECI Cartesian state and 6x6 covariance to requested epochs.
19259
+ * @param {any} request
19260
+ * @returns {CovarianceEphemeris}
19261
+ */
19262
+ function propagateCovariance(request) {
19263
+ const ret = wasm.propagateCovariance(request);
19264
+ if (ret[2]) {
19265
+ throw takeFromExternrefTable0(ret[1]);
19266
+ }
19267
+ return CovarianceEphemeris.__wrap(ret[0]);
19268
+ }
19269
+ exports.propagateCovariance = propagateCovariance;
19270
+
17650
19271
  /**
17651
19272
  * @param {any} coe
17652
19273
  * @param {number} mu_km3_s2
@@ -17769,6 +19390,40 @@ function relativeState(chief, deputy) {
17769
19390
  }
17770
19391
  exports.relativeState = relativeState;
17771
19392
 
19393
+ /**
19394
+ * Repair RINEX navigation text.
19395
+ * @param {Uint8Array} bytes
19396
+ * @param {any} options
19397
+ * @returns {RinexNavRepair}
19398
+ */
19399
+ function repairRinexNav(bytes, options) {
19400
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
19401
+ const len0 = WASM_VECTOR_LEN;
19402
+ const ret = wasm.repairRinexNav(ptr0, len0, options);
19403
+ if (ret[2]) {
19404
+ throw takeFromExternrefTable0(ret[1]);
19405
+ }
19406
+ return RinexNavRepair.__wrap(ret[0]);
19407
+ }
19408
+ exports.repairRinexNav = repairRinexNav;
19409
+
19410
+ /**
19411
+ * Repair RINEX observation text.
19412
+ * @param {Uint8Array} bytes
19413
+ * @param {any} options
19414
+ * @returns {RinexObsRepair}
19415
+ */
19416
+ function repairRinexObs(bytes, options) {
19417
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
19418
+ const len0 = WASM_VECTOR_LEN;
19419
+ const ret = wasm.repairRinexObs(ptr0, len0, options);
19420
+ if (ret[2]) {
19421
+ throw takeFromExternrefTable0(ret[1]);
19422
+ }
19423
+ return RinexObsRepair.__wrap(ret[0]);
19424
+ }
19425
+ exports.repairRinexObs = repairRinexObs;
19426
+
17772
19427
  /**
17773
19428
  * Build a sampled GPS C/A code replica, an `Int8Array`.
17774
19429
  * @param {bigint} prn
@@ -17862,6 +19517,39 @@ function rswRotation(position_km, velocity_km_s) {
17862
19517
  }
17863
19518
  exports.rswRotation = rswRotation;
17864
19519
 
19520
+ /**
19521
+ * Derive a RINEX LLI value for one MSM signal cell.
19522
+ *
19523
+ * `previous` is `null`/`undefined` or `{ elapsedMs, minLockTimeMs? }`.
19524
+ * `currentMinLockTimeMs` is a number or `null`/`undefined` for reserved current
19525
+ * indicators.
19526
+ * @param {any} previous
19527
+ * @param {any} current_min_lock_time_ms
19528
+ * @param {boolean} half_cycle_ambiguity
19529
+ * @returns {number}
19530
+ */
19531
+ function rtcmDeriveLli(previous, current_min_lock_time_ms, half_cycle_ambiguity) {
19532
+ const ret = wasm.rtcmDeriveLli(previous, current_min_lock_time_ms, half_cycle_ambiguity);
19533
+ if (ret[2]) {
19534
+ throw takeFromExternrefTable0(ret[1]);
19535
+ }
19536
+ return ret[0];
19537
+ }
19538
+ exports.rtcmDeriveLli = rtcmDeriveLli;
19539
+
19540
+ /**
19541
+ * RINEX LLI bit constants used by the RTCM MSM LLI helpers.
19542
+ * @returns {any}
19543
+ */
19544
+ function rtcmLliBits() {
19545
+ const ret = wasm.rtcmLliBits();
19546
+ if (ret[2]) {
19547
+ throw takeFromExternrefTable0(ret[1]);
19548
+ }
19549
+ return takeFromExternrefTable0(ret[0]);
19550
+ }
19551
+ exports.rtcmLliBits = rtcmLliBits;
19552
+
17865
19553
  /**
17866
19554
  * Read the 12-bit RTCM message number from a message body.
17867
19555
  *
@@ -17881,6 +19569,62 @@ function rtcmMessageNumber(body) {
17881
19569
  }
17882
19570
  exports.rtcmMessageNumber = rtcmMessageNumber;
17883
19571
 
19572
+ /**
19573
+ * Minimum continuous-lock time encoded by an MSM4/7 lock-time indicator.
19574
+ *
19575
+ * `kind` is `"msm4"` or `"msm7"`. Reserved or out-of-range indicators return
19576
+ * `undefined`.
19577
+ * @param {string} kind
19578
+ * @param {number} indicator
19579
+ * @returns {any}
19580
+ */
19581
+ function rtcmMinimumLockTimeMs(kind, indicator) {
19582
+ const ptr0 = passStringToWasm0(kind, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
19583
+ const len0 = WASM_VECTOR_LEN;
19584
+ const ret = wasm.rtcmMinimumLockTimeMs(ptr0, len0, indicator);
19585
+ if (ret[2]) {
19586
+ throw takeFromExternrefTable0(ret[1]);
19587
+ }
19588
+ return takeFromExternrefTable0(ret[0]);
19589
+ }
19590
+ exports.rtcmMinimumLockTimeMs = rtcmMinimumLockTimeMs;
19591
+
19592
+ /**
19593
+ * Elapsed milliseconds between two raw MSM epoch-time fields.
19594
+ * @param {string} system
19595
+ * @param {number} previous_epoch_time
19596
+ * @param {number} current_epoch_time
19597
+ * @returns {number}
19598
+ */
19599
+ function rtcmMsmEpochDtMs(system, previous_epoch_time, current_epoch_time) {
19600
+ const ptr0 = passStringToWasm0(system, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
19601
+ const len0 = WASM_VECTOR_LEN;
19602
+ const ret = wasm.rtcmMsmEpochDtMs(ptr0, len0, previous_epoch_time, current_epoch_time);
19603
+ if (ret[2]) {
19604
+ throw takeFromExternrefTable0(ret[1]);
19605
+ }
19606
+ return ret[0];
19607
+ }
19608
+ exports.rtcmMsmEpochDtMs = rtcmMsmEpochDtMs;
19609
+
19610
+ /**
19611
+ * RINEX 3 observation-code suffix for an MSM signal id, or `undefined` for
19612
+ * reserved ids.
19613
+ * @param {string} system
19614
+ * @param {number} signal_id
19615
+ * @returns {any}
19616
+ */
19617
+ function rtcmMsmSignalRinexCode(system, signal_id) {
19618
+ const ptr0 = passStringToWasm0(system, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
19619
+ const len0 = WASM_VECTOR_LEN;
19620
+ const ret = wasm.rtcmMsmSignalRinexCode(ptr0, len0, signal_id);
19621
+ if (ret[2]) {
19622
+ throw takeFromExternrefTable0(ret[1]);
19623
+ }
19624
+ return takeFromExternrefTable0(ret[0]);
19625
+ }
19626
+ exports.rtcmMsmSignalRinexCode = rtcmMsmSignalRinexCode;
19627
+
17884
19628
  /**
17885
19629
  * @param {Float64Array} position_km
17886
19630
  * @param {Float64Array} velocity_km_s
@@ -18840,6 +20584,25 @@ function ssrCorrectedState(broadcast, store, sat, t_j2000_s, fallback_to_broadca
18840
20584
  }
18841
20585
  exports.ssrCorrectedState = ssrCorrectedState;
18842
20586
 
20587
+ /**
20588
+ * Stable lower-camel-case SSR source token.
20589
+ * @param {SsrSource} source
20590
+ * @returns {string}
20591
+ */
20592
+ function ssrSourceLabel(source) {
20593
+ let deferred1_0;
20594
+ let deferred1_1;
20595
+ try {
20596
+ const ret = wasm.ssrSourceLabel(source);
20597
+ deferred1_0 = ret[0];
20598
+ deferred1_1 = ret[1];
20599
+ return getStringFromWasm0(ret[0], ret[1]);
20600
+ } finally {
20601
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
20602
+ }
20603
+ }
20604
+ exports.ssrSourceLabel = ssrSourceLabel;
20605
+
18843
20606
  /**
18844
20607
  * Sub-observer point (planetary central meridian) on a rotating body.
18845
20608
  *
@@ -19145,6 +20908,24 @@ function toCsv(records, booleans) {
19145
20908
  }
19146
20909
  exports.toCsv = toCsv;
19147
20910
 
20911
+ /**
20912
+ * Transport a 6x6 covariance through caller-supplied STM segments.
20913
+ * @param {Float64Array} covariance
20914
+ * @param {any} segments
20915
+ * @param {any} options
20916
+ * @returns {CovarianceTransportResult}
20917
+ */
20918
+ function transportCovariance(covariance, segments, options) {
20919
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
20920
+ const len0 = WASM_VECTOR_LEN;
20921
+ const ret = wasm.transportCovariance(ptr0, len0, segments, options);
20922
+ if (ret[2]) {
20923
+ throw takeFromExternrefTable0(ret[1]);
20924
+ }
20925
+ return CovarianceTransportResult.__wrap(ret[0]);
20926
+ }
20927
+ exports.transportCovariance = transportCovariance;
20928
+
19148
20929
  /**
19149
20930
  * Niell hydrostatic and wet mapping factors at an elevation.
19150
20931
  *
@@ -19522,6 +21303,10 @@ function __wbg_get_imports() {
19522
21303
  const ret = FleetPass.__wrap(arg0);
19523
21304
  return ret;
19524
21305
  },
21306
+ __wbg_fromCodePoint_a952b701bbb83fa4: function() { return handleError(function (arg0) {
21307
+ const ret = String.fromCodePoint(arg0 >>> 0);
21308
+ return ret;
21309
+ }, arguments); },
19525
21310
  __wbg_get_507a50627bffa49b: function(arg0, arg1) {
19526
21311
  const ret = arg0[arg1 >>> 0];
19527
21312
  return ret;
@@ -19854,9 +21639,15 @@ const BroadcastEphemerisFinalization = (typeof FinalizationRegistry === 'undefin
19854
21639
  const BroadcastEvaluationFinalization = (typeof FinalizationRegistry === 'undefined')
19855
21640
  ? { register: () => {}, unregister: () => {} }
19856
21641
  : new FinalizationRegistry(ptr => wasm.__wbg_broadcastevaluation_free(ptr, 1));
21642
+ const BroadcastGroupDelaysJsFinalization = (typeof FinalizationRegistry === 'undefined')
21643
+ ? { register: () => {}, unregister: () => {} }
21644
+ : new FinalizationRegistry(ptr => wasm.__wbg_broadcastgroupdelaysjs_free(ptr, 1));
19857
21645
  const BroadcastRecordJsFinalization = (typeof FinalizationRegistry === 'undefined')
19858
21646
  ? { register: () => {}, unregister: () => {} }
19859
21647
  : new FinalizationRegistry(ptr => wasm.__wbg_broadcastrecordjs_free(ptr, 1));
21648
+ const BroadcastStoreEvaluationFinalization = (typeof FinalizationRegistry === 'undefined')
21649
+ ? { register: () => {}, unregister: () => {} }
21650
+ : new FinalizationRegistry(ptr => wasm.__wbg_broadcaststoreevaluation_free(ptr, 1));
19860
21651
  const CarrierPairFinalization = (typeof FinalizationRegistry === 'undefined')
19861
21652
  ? { register: () => {}, unregister: () => {} }
19862
21653
  : new FinalizationRegistry(ptr => wasm.__wbg_carrierpair_free(ptr, 1));
@@ -19884,6 +21675,9 @@ const ClockPolynomialJsFinalization = (typeof FinalizationRegistry === 'undefine
19884
21675
  const ClockSeriesFinalization = (typeof FinalizationRegistry === 'undefined')
19885
21676
  ? { register: () => {}, unregister: () => {} }
19886
21677
  : new FinalizationRegistry(ptr => wasm.__wbg_clockseries_free(ptr, 1));
21678
+ const CnavParametersJsFinalization = (typeof FinalizationRegistry === 'undefined')
21679
+ ? { register: () => {}, unregister: () => {} }
21680
+ : new FinalizationRegistry(ptr => wasm.__wbg_cnavparametersjs_free(ptr, 1));
19887
21681
  const CollisionProbabilityFinalization = (typeof FinalizationRegistry === 'undefined')
19888
21682
  ? { register: () => {}, unregister: () => {} }
19889
21683
  : new FinalizationRegistry(ptr => wasm.__wbg_collisionprobability_free(ptr, 1));
@@ -19896,6 +21690,12 @@ const ConstellationFinalization = (typeof FinalizationRegistry === 'undefined')
19896
21690
  const CorrelationResultFinalization = (typeof FinalizationRegistry === 'undefined')
19897
21691
  ? { register: () => {}, unregister: () => {} }
19898
21692
  : new FinalizationRegistry(ptr => wasm.__wbg_correlationresult_free(ptr, 1));
21693
+ const CovarianceEphemerisFinalization = (typeof FinalizationRegistry === 'undefined')
21694
+ ? { register: () => {}, unregister: () => {} }
21695
+ : new FinalizationRegistry(ptr => wasm.__wbg_covarianceephemeris_free(ptr, 1));
21696
+ const CovarianceTransportResultFinalization = (typeof FinalizationRegistry === 'undefined')
21697
+ ? { register: () => {}, unregister: () => {} }
21698
+ : new FinalizationRegistry(ptr => wasm.__wbg_covariancetransportresult_free(ptr, 1));
19899
21699
  const CoverageGridFinalization = (typeof FinalizationRegistry === 'undefined')
19900
21700
  ? { register: () => {}, unregister: () => {} }
19901
21701
  : new FinalizationRegistry(ptr => wasm.__wbg_coveragegrid_free(ptr, 1));
@@ -20043,6 +21843,15 @@ const MovingBaselineSolutionFinalization = (typeof FinalizationRegistry === 'und
20043
21843
  const NamedTleFinalization = (typeof FinalizationRegistry === 'undefined')
20044
21844
  ? { register: () => {}, unregister: () => {} }
20045
21845
  : new FinalizationRegistry(ptr => wasm.__wbg_namedtle_free(ptr, 1));
21846
+ const NmeaAccumulatorFinalization = (typeof FinalizationRegistry === 'undefined')
21847
+ ? { register: () => {}, unregister: () => {} }
21848
+ : new FinalizationRegistry(ptr => wasm.__wbg_nmeaaccumulator_free(ptr, 1));
21849
+ const NmeaParseResultFinalization = (typeof FinalizationRegistry === 'undefined')
21850
+ ? { register: () => {}, unregister: () => {} }
21851
+ : new FinalizationRegistry(ptr => wasm.__wbg_nmeaparseresult_free(ptr, 1));
21852
+ const NtripClientMachineFinalization = (typeof FinalizationRegistry === 'undefined')
21853
+ ? { register: () => {}, unregister: () => {} }
21854
+ : new FinalizationRegistry(ptr => wasm.__wbg_ntripclientmachine_free(ptr, 1));
20046
21855
  const ObsEpochFinalization = (typeof FinalizationRegistry === 'undefined')
20047
21856
  ? { register: () => {}, unregister: () => {} }
20048
21857
  : new FinalizationRegistry(ptr => wasm.__wbg_obsepoch_free(ptr, 1));
@@ -20148,9 +21957,18 @@ const ReducedOrbitStateFinalization = (typeof FinalizationRegistry === 'undefine
20148
21957
  const RinexClockFinalization = (typeof FinalizationRegistry === 'undefined')
20149
21958
  ? { register: () => {}, unregister: () => {} }
20150
21959
  : new FinalizationRegistry(ptr => wasm.__wbg_rinexclock_free(ptr, 1));
21960
+ const RinexNavRepairFinalization = (typeof FinalizationRegistry === 'undefined')
21961
+ ? { register: () => {}, unregister: () => {} }
21962
+ : new FinalizationRegistry(ptr => wasm.__wbg_rinexnavrepair_free(ptr, 1));
20151
21963
  const RinexObsFinalization = (typeof FinalizationRegistry === 'undefined')
20152
21964
  ? { register: () => {}, unregister: () => {} }
20153
21965
  : new FinalizationRegistry(ptr => wasm.__wbg_rinexobs_free(ptr, 1));
21966
+ const RinexObsRepairFinalization = (typeof FinalizationRegistry === 'undefined')
21967
+ ? { register: () => {}, unregister: () => {} }
21968
+ : new FinalizationRegistry(ptr => wasm.__wbg_rinexobsrepair_free(ptr, 1));
21969
+ const RtcmLockTimeTrackerFinalization = (typeof FinalizationRegistry === 'undefined')
21970
+ ? { register: () => {}, unregister: () => {} }
21971
+ : new FinalizationRegistry(ptr => wasm.__wbg_rtcmlocktimetracker_free(ptr, 1));
20154
21972
  const RtkFixedSolutionFinalization = (typeof FinalizationRegistry === 'undefined')
20155
21973
  ? { register: () => {}, unregister: () => {} }
20156
21974
  : new FinalizationRegistry(ptr => wasm.__wbg_rtkfixedsolution_free(ptr, 1));
@@ -20211,6 +22029,9 @@ const SpaceWeatherFinalization = (typeof FinalizationRegistry === 'undefined')
20211
22029
  const SpaceWeatherDefaultsFinalization = (typeof FinalizationRegistry === 'undefined')
20212
22030
  ? { register: () => {}, unregister: () => {} }
20213
22031
  : new FinalizationRegistry(ptr => wasm.__wbg_spaceweatherdefaults_free(ptr, 1));
22032
+ const SpaceWeatherTableFinalization = (typeof FinalizationRegistry === 'undefined')
22033
+ ? { register: () => {}, unregister: () => {} }
22034
+ : new FinalizationRegistry(ptr => wasm.__wbg_spaceweathertable_free(ptr, 1));
20214
22035
  const SpkFinalization = (typeof FinalizationRegistry === 'undefined')
20215
22036
  ? { register: () => {}, unregister: () => {} }
20216
22037
  : new FinalizationRegistry(ptr => wasm.__wbg_spk_free(ptr, 1));
@@ -20235,6 +22056,9 @@ const SunMoonFinalization = (typeof FinalizationRegistry === 'undefined')
20235
22056
  const TleFinalization = (typeof FinalizationRegistry === 'undefined')
20236
22057
  ? { register: () => {}, unregister: () => {} }
20237
22058
  : new FinalizationRegistry(ptr => wasm.__wbg_tle_free(ptr, 1));
22059
+ const TleFitFinalization = (typeof FinalizationRegistry === 'undefined')
22060
+ ? { register: () => {}, unregister: () => {} }
22061
+ : new FinalizationRegistry(ptr => wasm.__wbg_tlefit_free(ptr, 1));
20238
22062
  const TlePropagationFinalization = (typeof FinalizationRegistry === 'undefined')
20239
22063
  ? { register: () => {}, unregister: () => {} }
20240
22064
  : new FinalizationRegistry(ptr => wasm.__wbg_tlepropagation_free(ptr, 1));