@neilberkman/sidereon 0.9.2 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/pkg/sidereon.js CHANGED
@@ -587,6 +587,145 @@ export class AtmosphereDensity {
587
587
  }
588
588
  if (Symbol.dispose) AtmosphereDensity.prototype[Symbol.dispose] = AtmosphereDensity.prototype.free;
589
589
 
590
+ export class BiasSet {
591
+ static __wrap(ptr) {
592
+ const obj = Object.create(BiasSet.prototype);
593
+ obj.__wbg_ptr = ptr;
594
+ BiasSetFinalization.register(obj, obj.__wbg_ptr, obj);
595
+ return obj;
596
+ }
597
+ __destroy_into_raw() {
598
+ const ptr = this.__wbg_ptr;
599
+ this.__wbg_ptr = 0;
600
+ BiasSetFinalization.unregister(this);
601
+ return ptr;
602
+ }
603
+ free() {
604
+ const ptr = this.__destroy_into_raw();
605
+ wasm.__wbg_biasset_free(ptr, 0);
606
+ }
607
+ /**
608
+ * @param {string} sat
609
+ * @param {string} used_obs1
610
+ * @param {string} used_obs2
611
+ * @param {number} freq1_hz
612
+ * @param {number} freq2_hz
613
+ * @param {number | null | undefined} glonass_channel
614
+ * @param {string} clock_ref_obs1
615
+ * @param {string} clock_ref_obs2
616
+ * @param {number} epoch_j2000_s
617
+ * @param {string | null} [time_scale]
618
+ * @returns {number | undefined}
619
+ */
620
+ codeBiasModelM(sat, used_obs1, used_obs2, freq1_hz, freq2_hz, glonass_channel, clock_ref_obs1, clock_ref_obs2, epoch_j2000_s, time_scale) {
621
+ const ptr0 = passStringToWasm0(sat, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
622
+ const len0 = WASM_VECTOR_LEN;
623
+ const ptr1 = passStringToWasm0(used_obs1, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
624
+ const len1 = WASM_VECTOR_LEN;
625
+ const ptr2 = passStringToWasm0(used_obs2, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
626
+ const len2 = WASM_VECTOR_LEN;
627
+ const ptr3 = passStringToWasm0(clock_ref_obs1, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
628
+ const len3 = WASM_VECTOR_LEN;
629
+ const ptr4 = passStringToWasm0(clock_ref_obs2, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
630
+ const len4 = WASM_VECTOR_LEN;
631
+ var ptr5 = isLikeNone(time_scale) ? 0 : passStringToWasm0(time_scale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
632
+ var len5 = WASM_VECTOR_LEN;
633
+ const ret = wasm.biasset_codeBiasModelM(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, freq1_hz, freq2_hz, isLikeNone(glonass_channel) ? 0xFFFFFF : glonass_channel, ptr3, len3, ptr4, len4, epoch_j2000_s, ptr5, len5);
634
+ if (ret[3]) {
635
+ throw takeFromExternrefTable0(ret[2]);
636
+ }
637
+ return ret[0] === 0 ? undefined : ret[1];
638
+ }
639
+ /**
640
+ * @param {string} sat
641
+ * @param {string} obs1
642
+ * @param {string} obs2
643
+ * @param {number} epoch_j2000_s
644
+ * @param {string | null} [time_scale]
645
+ * @returns {number | undefined}
646
+ */
647
+ codeDsbSeconds(sat, obs1, obs2, epoch_j2000_s, time_scale) {
648
+ const ptr0 = passStringToWasm0(sat, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
649
+ const len0 = WASM_VECTOR_LEN;
650
+ const ptr1 = passStringToWasm0(obs1, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
651
+ const len1 = WASM_VECTOR_LEN;
652
+ const ptr2 = passStringToWasm0(obs2, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
653
+ const len2 = WASM_VECTOR_LEN;
654
+ var ptr3 = isLikeNone(time_scale) ? 0 : passStringToWasm0(time_scale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
655
+ var len3 = WASM_VECTOR_LEN;
656
+ const ret = wasm.biasset_codeDsbSeconds(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, epoch_j2000_s, ptr3, len3);
657
+ if (ret[3]) {
658
+ throw takeFromExternrefTable0(ret[2]);
659
+ }
660
+ return ret[0] === 0 ? undefined : ret[1];
661
+ }
662
+ /**
663
+ * @param {string} sat
664
+ * @param {string} obs
665
+ * @param {number} epoch_j2000_s
666
+ * @param {string | null} [time_scale]
667
+ * @returns {number | undefined}
668
+ */
669
+ codeOsbSeconds(sat, obs, epoch_j2000_s, time_scale) {
670
+ const ptr0 = passStringToWasm0(sat, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
671
+ const len0 = WASM_VECTOR_LEN;
672
+ const ptr1 = passStringToWasm0(obs, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
673
+ const len1 = WASM_VECTOR_LEN;
674
+ var ptr2 = isLikeNone(time_scale) ? 0 : passStringToWasm0(time_scale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
675
+ var len2 = WASM_VECTOR_LEN;
676
+ const ret = wasm.biasset_codeOsbSeconds(this.__wbg_ptr, ptr0, len0, ptr1, len1, epoch_j2000_s, ptr2, len2);
677
+ if (ret[3]) {
678
+ throw takeFromExternrefTable0(ret[2]);
679
+ }
680
+ return ret[0] === 0 ? undefined : ret[1];
681
+ }
682
+ /**
683
+ * @param {string} sat
684
+ * @param {string} obs
685
+ * @param {number} epoch_j2000_s
686
+ * @param {string | null} [time_scale]
687
+ * @returns {number | undefined}
688
+ */
689
+ phaseOsbCycles(sat, obs, epoch_j2000_s, time_scale) {
690
+ const ptr0 = passStringToWasm0(sat, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
691
+ const len0 = WASM_VECTOR_LEN;
692
+ const ptr1 = passStringToWasm0(obs, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
693
+ const len1 = WASM_VECTOR_LEN;
694
+ var ptr2 = isLikeNone(time_scale) ? 0 : passStringToWasm0(time_scale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
695
+ var len2 = WASM_VECTOR_LEN;
696
+ const ret = wasm.biasset_phaseOsbCycles(this.__wbg_ptr, ptr0, len0, ptr1, len1, epoch_j2000_s, ptr2, len2);
697
+ if (ret[3]) {
698
+ throw takeFromExternrefTable0(ret[2]);
699
+ }
700
+ return ret[0] === 0 ? undefined : ret[1];
701
+ }
702
+ /**
703
+ * @returns {number}
704
+ */
705
+ get recordCount() {
706
+ const ret = wasm.biasset_recordCount(this.__wbg_ptr);
707
+ return ret >>> 0;
708
+ }
709
+ /**
710
+ * @returns {any}
711
+ */
712
+ get records() {
713
+ const ret = wasm.biasset_records(this.__wbg_ptr);
714
+ if (ret[2]) {
715
+ throw takeFromExternrefTable0(ret[1]);
716
+ }
717
+ return takeFromExternrefTable0(ret[0]);
718
+ }
719
+ /**
720
+ * @returns {number}
721
+ */
722
+ get skippedRecords() {
723
+ const ret = wasm.biasset_skippedRecords(this.__wbg_ptr);
724
+ return ret >>> 0;
725
+ }
726
+ }
727
+ if (Symbol.dispose) BiasSet.prototype[Symbol.dispose] = BiasSet.prototype.free;
728
+
590
729
  /**
591
730
  * A parsed broadcast ephemeris store from a RINEX NAV file. `records` are the
592
731
  * usable GPS/Galileo/BeiDou records selected by the core default SPP policy.
@@ -3122,6 +3261,160 @@ export class DopplerShift {
3122
3261
  }
3123
3262
  if (Symbol.dispose) DopplerShift.prototype[Symbol.dispose] = DopplerShift.prototype.free;
3124
3263
 
3264
+ export class DragForce {
3265
+ static __wrap(ptr) {
3266
+ const obj = Object.create(DragForce.prototype);
3267
+ obj.__wbg_ptr = ptr;
3268
+ DragForceFinalization.register(obj, obj.__wbg_ptr, obj);
3269
+ return obj;
3270
+ }
3271
+ __destroy_into_raw() {
3272
+ const ptr = this.__wbg_ptr;
3273
+ this.__wbg_ptr = 0;
3274
+ DragForceFinalization.unregister(this);
3275
+ return ptr;
3276
+ }
3277
+ free() {
3278
+ const ptr = this.__destroy_into_raw();
3279
+ wasm.__wbg_dragforce_free(ptr, 0);
3280
+ }
3281
+ /**
3282
+ * @param {number} epoch_s
3283
+ * @param {Float64Array} position_km
3284
+ * @param {Float64Array} velocity_km_s
3285
+ * @returns {Float64Array}
3286
+ */
3287
+ acceleration(epoch_s, position_km, velocity_km_s) {
3288
+ const ptr0 = passArrayF64ToWasm0(position_km, wasm.__wbindgen_malloc);
3289
+ const len0 = WASM_VECTOR_LEN;
3290
+ const ptr1 = passArrayF64ToWasm0(velocity_km_s, wasm.__wbindgen_malloc);
3291
+ const len1 = WASM_VECTOR_LEN;
3292
+ const ret = wasm.dragforce_acceleration(this.__wbg_ptr, epoch_s, ptr0, len0, ptr1, len1);
3293
+ if (ret[3]) {
3294
+ throw takeFromExternrefTable0(ret[2]);
3295
+ }
3296
+ var v3 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
3297
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
3298
+ return v3;
3299
+ }
3300
+ /**
3301
+ * @returns {number}
3302
+ */
3303
+ get bcFactorM2Kg() {
3304
+ const ret = wasm.dragforce_bcFactorM2Kg(this.__wbg_ptr);
3305
+ return ret;
3306
+ }
3307
+ /**
3308
+ * @returns {number}
3309
+ */
3310
+ get cutoffAltitudeKm() {
3311
+ const ret = wasm.dragforce_cutoffAltitudeKm(this.__wbg_ptr);
3312
+ return ret;
3313
+ }
3314
+ /**
3315
+ * @param {number} cd
3316
+ * @param {number} area_m2
3317
+ * @param {number} mass_kg
3318
+ * @param {SpaceWeather} space_weather
3319
+ * @param {number | null} [cutoff_altitude_km]
3320
+ * @returns {DragForce}
3321
+ */
3322
+ static fromAreaMass(cd, area_m2, mass_kg, space_weather, cutoff_altitude_km) {
3323
+ _assertClass(space_weather, SpaceWeather);
3324
+ const ret = wasm.dragforce_fromAreaMass(cd, area_m2, mass_kg, space_weather.__wbg_ptr, !isLikeNone(cutoff_altitude_km), isLikeNone(cutoff_altitude_km) ? 0 : cutoff_altitude_km);
3325
+ if (ret[2]) {
3326
+ throw takeFromExternrefTable0(ret[1]);
3327
+ }
3328
+ return DragForce.__wrap(ret[0]);
3329
+ }
3330
+ /**
3331
+ * @param {number} bc_kg_m2
3332
+ * @param {SpaceWeather} space_weather
3333
+ * @param {number | null} [cutoff_altitude_km]
3334
+ * @returns {DragForce}
3335
+ */
3336
+ static fromBallisticCoefficient(bc_kg_m2, space_weather, cutoff_altitude_km) {
3337
+ _assertClass(space_weather, SpaceWeather);
3338
+ const ret = wasm.dragforce_fromBallisticCoefficient(bc_kg_m2, space_weather.__wbg_ptr, !isLikeNone(cutoff_altitude_km), isLikeNone(cutoff_altitude_km) ? 0 : cutoff_altitude_km);
3339
+ if (ret[2]) {
3340
+ throw takeFromExternrefTable0(ret[1]);
3341
+ }
3342
+ return DragForce.__wrap(ret[0]);
3343
+ }
3344
+ /**
3345
+ * @param {number} bc_factor_m2_kg
3346
+ * @param {SpaceWeather} space_weather
3347
+ * @param {number | null} [cutoff_altitude_km]
3348
+ * @returns {DragForce}
3349
+ */
3350
+ static fromBcFactor(bc_factor_m2_kg, space_weather, cutoff_altitude_km) {
3351
+ _assertClass(space_weather, SpaceWeather);
3352
+ const ret = wasm.dragforce_fromBcFactor(bc_factor_m2_kg, space_weather.__wbg_ptr, !isLikeNone(cutoff_altitude_km), isLikeNone(cutoff_altitude_km) ? 0 : cutoff_altitude_km);
3353
+ if (ret[2]) {
3354
+ throw takeFromExternrefTable0(ret[1]);
3355
+ }
3356
+ return DragForce.__wrap(ret[0]);
3357
+ }
3358
+ /**
3359
+ * @returns {SpaceWeather}
3360
+ */
3361
+ get spaceWeather() {
3362
+ const ret = wasm.dragforce_spaceWeather(this.__wbg_ptr);
3363
+ return SpaceWeather.__wrap(ret);
3364
+ }
3365
+ }
3366
+ if (Symbol.dispose) DragForce.prototype[Symbol.dispose] = DragForce.prototype.free;
3367
+
3368
+ export class DtedTerrain {
3369
+ __destroy_into_raw() {
3370
+ const ptr = this.__wbg_ptr;
3371
+ this.__wbg_ptr = 0;
3372
+ DtedTerrainFinalization.unregister(this);
3373
+ return ptr;
3374
+ }
3375
+ free() {
3376
+ const ptr = this.__destroy_into_raw();
3377
+ wasm.__wbg_dtedterrain_free(ptr, 0);
3378
+ }
3379
+ /**
3380
+ * @param {number} longitude_deg
3381
+ * @param {number} latitude_deg
3382
+ * @returns {number}
3383
+ */
3384
+ heightM(longitude_deg, latitude_deg) {
3385
+ const ret = wasm.dtedterrain_heightM(this.__wbg_ptr, longitude_deg, latitude_deg);
3386
+ if (ret[2]) {
3387
+ throw takeFromExternrefTable0(ret[1]);
3388
+ }
3389
+ return ret[0];
3390
+ }
3391
+ /**
3392
+ * @param {number} longitude_deg
3393
+ * @param {number} latitude_deg
3394
+ * @param {any} options
3395
+ * @returns {number}
3396
+ */
3397
+ heightMWithOptions(longitude_deg, latitude_deg, options) {
3398
+ const ret = wasm.dtedterrain_heightMWithOptions(this.__wbg_ptr, longitude_deg, latitude_deg, options);
3399
+ if (ret[2]) {
3400
+ throw takeFromExternrefTable0(ret[1]);
3401
+ }
3402
+ return ret[0];
3403
+ }
3404
+ /**
3405
+ * @param {string} root
3406
+ */
3407
+ constructor(root) {
3408
+ const ptr0 = passStringToWasm0(root, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3409
+ const len0 = WASM_VECTOR_LEN;
3410
+ const ret = wasm.dtedterrain_new(ptr0, len0);
3411
+ this.__wbg_ptr = ret;
3412
+ DtedTerrainFinalization.register(this, this.__wbg_ptr, this);
3413
+ return this;
3414
+ }
3415
+ }
3416
+ if (Symbol.dispose) DtedTerrain.prototype[Symbol.dispose] = DtedTerrain.prototype.free;
3417
+
3125
3418
  /**
3126
3419
  * Orthonormal encounter frame built from two relative states.
3127
3420
  */
@@ -9851,6 +10144,14 @@ export class ReducedOrbitState {
9851
10144
  }
9852
10145
  if (Symbol.dispose) ReducedOrbitState.prototype[Symbol.dispose] = ReducedOrbitState.prototype.free;
9853
10146
 
10147
+ /**
10148
+ * @enum {0 | 1}
10149
+ */
10150
+ export const RetrogradeFactor = Object.freeze({
10151
+ Prograde: 0, "0": "Prograde",
10152
+ Retrograde: 1, "1": "Retrograde",
10153
+ });
10154
+
9854
10155
  /**
9855
10156
  * A parsed RINEX clock product with satellite clock-bias interpolation.
9856
10157
  */
@@ -10388,6 +10689,77 @@ export class SatelliteVector {
10388
10689
  }
10389
10690
  if (Symbol.dispose) SatelliteVector.prototype[Symbol.dispose] = SatelliteVector.prototype.free;
10390
10691
 
10692
+ export class SbasCorrectionStore {
10693
+ __destroy_into_raw() {
10694
+ const ptr = this.__wbg_ptr;
10695
+ this.__wbg_ptr = 0;
10696
+ SbasCorrectionStoreFinalization.unregister(this);
10697
+ return ptr;
10698
+ }
10699
+ free() {
10700
+ const ptr = this.__destroy_into_raw();
10701
+ wasm.__wbg_sbascorrectionstore_free(ptr, 0);
10702
+ }
10703
+ /**
10704
+ * @param {Uint8Array} bytes
10705
+ * @param {string | null | undefined} form
10706
+ * @param {string} geo
10707
+ * @param {number} week
10708
+ * @param {number} tow_s
10709
+ * @param {string | null} [time_scale]
10710
+ */
10711
+ ingest(bytes, form, geo, week, tow_s, time_scale) {
10712
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
10713
+ const len0 = WASM_VECTOR_LEN;
10714
+ var ptr1 = isLikeNone(form) ? 0 : passStringToWasm0(form, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
10715
+ var len1 = WASM_VECTOR_LEN;
10716
+ const ptr2 = passStringToWasm0(geo, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
10717
+ const len2 = WASM_VECTOR_LEN;
10718
+ var ptr3 = isLikeNone(time_scale) ? 0 : passStringToWasm0(time_scale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
10719
+ var len3 = WASM_VECTOR_LEN;
10720
+ const ret = wasm.sbascorrectionstore_ingest(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, week, tow_s, ptr3, len3);
10721
+ if (ret[1]) {
10722
+ throw takeFromExternrefTable0(ret[0]);
10723
+ }
10724
+ }
10725
+ /**
10726
+ * @param {string} geo
10727
+ * @param {number} receiver_lat_rad
10728
+ * @param {number} receiver_lon_rad
10729
+ * @param {number} receiver_height_m
10730
+ * @param {number} elevation_rad
10731
+ * @param {number} azimuth_rad
10732
+ * @param {number} frequency_hz
10733
+ * @returns {number | undefined}
10734
+ */
10735
+ ionoSlantDelayM(geo, receiver_lat_rad, receiver_lon_rad, receiver_height_m, elevation_rad, azimuth_rad, frequency_hz) {
10736
+ const ptr0 = passStringToWasm0(geo, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
10737
+ const len0 = WASM_VECTOR_LEN;
10738
+ const ret = wasm.sbascorrectionstore_ionoSlantDelayM(this.__wbg_ptr, ptr0, len0, receiver_lat_rad, receiver_lon_rad, receiver_height_m, elevation_rad, azimuth_rad, frequency_hz);
10739
+ if (ret[3]) {
10740
+ throw takeFromExternrefTable0(ret[2]);
10741
+ }
10742
+ return ret[0] === 0 ? undefined : ret[1];
10743
+ }
10744
+ constructor() {
10745
+ const ret = wasm.sbascorrectionstore_new();
10746
+ this.__wbg_ptr = ret;
10747
+ SbasCorrectionStoreFinalization.register(this, this.__wbg_ptr, this);
10748
+ return this;
10749
+ }
10750
+ /**
10751
+ * @param {number} t_j2000_s
10752
+ * @returns {string[]}
10753
+ */
10754
+ readyGeos(t_j2000_s) {
10755
+ const ret = wasm.sbascorrectionstore_readyGeos(this.__wbg_ptr, t_j2000_s);
10756
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
10757
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
10758
+ return v1;
10759
+ }
10760
+ }
10761
+ if (Symbol.dispose) SbasCorrectionStore.prototype[Symbol.dispose] = SbasCorrectionStore.prototype.free;
10762
+
10391
10763
  /**
10392
10764
  * Per-constellation single-frequency pseudorange code-selection policy. Build
10393
10765
  * with `new SignalPolicy()` then chain `.withSystem(system, codes)`, or use
@@ -10843,6 +11215,21 @@ export class Sp3 {
10843
11215
  }
10844
11216
  return SppBatchSolution.__wrap(ret[0]);
10845
11217
  }
11218
+ /**
11219
+ * Run the core robust-reweighted SPP driver under the RAIM/FDE exclusion loop.
11220
+ *
11221
+ * `request` is the FDE request with a `robust` object. The implementation
11222
+ * delegates to `sidereon_core::quality::spp_robust_fde_driver`.
11223
+ * @param {any} request
11224
+ * @returns {FdeSolution}
11225
+ */
11226
+ sppRobustFdeDriver(request) {
11227
+ const ret = wasm.sp3_sppRobustFdeDriver(this.__wbg_ptr, request);
11228
+ if (ret[2]) {
11229
+ throw takeFromExternrefTable0(ret[1]);
11230
+ }
11231
+ return FdeSolution.__wrap(ret[0]);
11232
+ }
10846
11233
  /**
10847
11234
  * The exact parsed state of `satellite` at record `epochIndex` (no
10848
11235
  * interpolation). Throws a `RangeError` past the last epoch and a
@@ -11160,7 +11547,7 @@ export class Sp3MergeReport {
11160
11547
  }
11161
11548
  /**
11162
11549
  * Per-(epoch, satellite) agreement statistics for every accepted cell, in
11163
- * output (epoch, then satellite) order one entry per cell written to the
11550
+ * output (epoch, then satellite) order, one entry per cell written to the
11164
11551
  * merged product.
11165
11552
  * @returns {Sp3AgreementMetric[]}
11166
11553
  */
@@ -11416,54 +11803,106 @@ export class Sp3State {
11416
11803
  }
11417
11804
  if (Symbol.dispose) Sp3State.prototype[Symbol.dispose] = Sp3State.prototype.free;
11418
11805
 
11419
- /**
11420
- * Canonical quiet-Sun space-weather indices for NRLMSISE-00, mirrored from the
11421
- * core so a JS caller can pass moderate-activity defaults to [`atmosphereDensity`]
11422
- * without re-deriving the magic numbers.
11423
- */
11424
- export class SpaceWeatherDefaults {
11806
+ export class SpaceWeather {
11425
11807
  static __wrap(ptr) {
11426
- const obj = Object.create(SpaceWeatherDefaults.prototype);
11808
+ const obj = Object.create(SpaceWeather.prototype);
11427
11809
  obj.__wbg_ptr = ptr;
11428
- SpaceWeatherDefaultsFinalization.register(obj, obj.__wbg_ptr, obj);
11810
+ SpaceWeatherFinalization.register(obj, obj.__wbg_ptr, obj);
11429
11811
  return obj;
11430
11812
  }
11431
11813
  __destroy_into_raw() {
11432
11814
  const ptr = this.__wbg_ptr;
11433
11815
  this.__wbg_ptr = 0;
11434
- SpaceWeatherDefaultsFinalization.unregister(this);
11816
+ SpaceWeatherFinalization.unregister(this);
11435
11817
  return ptr;
11436
11818
  }
11437
11819
  free() {
11438
11820
  const ptr = this.__destroy_into_raw();
11439
- wasm.__wbg_spaceweatherdefaults_free(ptr, 0);
11821
+ wasm.__wbg_spaceweather_free(ptr, 0);
11440
11822
  }
11441
11823
  /**
11442
- * Daily magnetic Ap index.
11443
11824
  * @returns {number}
11444
11825
  */
11445
11826
  get ap() {
11446
- const ret = wasm.spaceweatherdefaults_ap(this.__wbg_ptr);
11827
+ const ret = wasm.spaceweather_ap(this.__wbg_ptr);
11447
11828
  return ret;
11448
11829
  }
11449
11830
  /**
11450
- * Daily F10.7 solar radio flux.
11451
11831
  * @returns {number}
11452
11832
  */
11453
11833
  get f107() {
11454
- const ret = wasm.spaceweatherdefaults_f107(this.__wbg_ptr);
11834
+ const ret = wasm.spaceweather_f107(this.__wbg_ptr);
11455
11835
  return ret;
11456
11836
  }
11457
11837
  /**
11458
- * 81-day centred F10.7 average.
11459
11838
  * @returns {number}
11460
11839
  */
11461
11840
  get f107a() {
11462
- const ret = wasm.spaceweatherdefaults_f107a(this.__wbg_ptr);
11841
+ const ret = wasm.spaceweather_f107a(this.__wbg_ptr);
11463
11842
  return ret;
11464
11843
  }
11465
- }
11466
- if (Symbol.dispose) SpaceWeatherDefaults.prototype[Symbol.dispose] = SpaceWeatherDefaults.prototype.free;
11844
+ /**
11845
+ * @param {number | null} [f107]
11846
+ * @param {number | null} [f107a]
11847
+ * @param {number | null} [ap]
11848
+ */
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);
11879
+ }
11880
+ /**
11881
+ * Daily magnetic Ap index.
11882
+ * @returns {number}
11883
+ */
11884
+ get ap() {
11885
+ const ret = wasm.spaceweatherdefaults_ap(this.__wbg_ptr);
11886
+ return ret;
11887
+ }
11888
+ /**
11889
+ * Daily F10.7 solar radio flux.
11890
+ * @returns {number}
11891
+ */
11892
+ get f107() {
11893
+ const ret = wasm.spaceweatherdefaults_f107(this.__wbg_ptr);
11894
+ return ret;
11895
+ }
11896
+ /**
11897
+ * 81-day centred F10.7 average.
11898
+ * @returns {number}
11899
+ */
11900
+ get f107a() {
11901
+ const ret = wasm.spaceweatherdefaults_f107a(this.__wbg_ptr);
11902
+ return ret;
11903
+ }
11904
+ }
11905
+ if (Symbol.dispose) SpaceWeatherDefaults.prototype[Symbol.dispose] = SpaceWeatherDefaults.prototype.free;
11467
11906
 
11468
11907
  /**
11469
11908
  * A parsed in-memory JPL/NAIF SPK kernel.
@@ -11928,6 +12367,97 @@ export class SppSolution {
11928
12367
  }
11929
12368
  if (Symbol.dispose) SppSolution.prototype[Symbol.dispose] = SppSolution.prototype.free;
11930
12369
 
12370
+ export class SsrCorrectionStore {
12371
+ __destroy_into_raw() {
12372
+ const ptr = this.__wbg_ptr;
12373
+ this.__wbg_ptr = 0;
12374
+ SsrCorrectionStoreFinalization.unregister(this);
12375
+ return ptr;
12376
+ }
12377
+ free() {
12378
+ const ptr = this.__destroy_into_raw();
12379
+ wasm.__wbg_ssrcorrectionstore_free(ptr, 0);
12380
+ }
12381
+ /**
12382
+ * @param {string} sat
12383
+ * @returns {any}
12384
+ */
12385
+ clock(sat) {
12386
+ const ptr0 = passStringToWasm0(sat, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
12387
+ const len0 = WASM_VECTOR_LEN;
12388
+ const ret = wasm.ssrcorrectionstore_clock(this.__wbg_ptr, ptr0, len0);
12389
+ if (ret[2]) {
12390
+ throw takeFromExternrefTable0(ret[1]);
12391
+ }
12392
+ return takeFromExternrefTable0(ret[0]);
12393
+ }
12394
+ /**
12395
+ * @param {Uint8Array} bytes
12396
+ * @param {boolean | null | undefined} framed
12397
+ * @param {number} week
12398
+ * @param {number} tow_s
12399
+ * @param {string | null} [time_scale]
12400
+ */
12401
+ ingest(bytes, framed, week, tow_s, time_scale) {
12402
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
12403
+ const len0 = WASM_VECTOR_LEN;
12404
+ var ptr1 = isLikeNone(time_scale) ? 0 : passStringToWasm0(time_scale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
12405
+ var len1 = WASM_VECTOR_LEN;
12406
+ const ret = wasm.ssrcorrectionstore_ingest(this.__wbg_ptr, ptr0, len0, isLikeNone(framed) ? 0xFFFFFF : framed ? 1 : 0, week, tow_s, ptr1, len1);
12407
+ if (ret[1]) {
12408
+ throw takeFromExternrefTable0(ret[0]);
12409
+ }
12410
+ }
12411
+ constructor() {
12412
+ const ret = wasm.ssrcorrectionstore_new();
12413
+ this.__wbg_ptr = ret;
12414
+ SsrCorrectionStoreFinalization.register(this, this.__wbg_ptr, this);
12415
+ return this;
12416
+ }
12417
+ /**
12418
+ * @param {string} sat
12419
+ * @returns {any}
12420
+ */
12421
+ orbit(sat) {
12422
+ const ptr0 = passStringToWasm0(sat, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
12423
+ const len0 = WASM_VECTOR_LEN;
12424
+ const ret = wasm.ssrcorrectionstore_orbit(this.__wbg_ptr, ptr0, len0);
12425
+ if (ret[2]) {
12426
+ throw takeFromExternrefTable0(ret[1]);
12427
+ }
12428
+ return takeFromExternrefTable0(ret[0]);
12429
+ }
12430
+ /**
12431
+ * @param {string} sat
12432
+ * @returns {number | undefined}
12433
+ */
12434
+ uraIndex(sat) {
12435
+ const ptr0 = passStringToWasm0(sat, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
12436
+ const len0 = WASM_VECTOR_LEN;
12437
+ const ret = wasm.ssrcorrectionstore_uraIndex(this.__wbg_ptr, ptr0, len0);
12438
+ if (ret[2]) {
12439
+ throw takeFromExternrefTable0(ret[1]);
12440
+ }
12441
+ return ret[0] === 0xFFFFFF ? undefined : ret[0];
12442
+ }
12443
+ }
12444
+ if (Symbol.dispose) SsrCorrectionStore.prototype[Symbol.dispose] = SsrCorrectionStore.prototype.free;
12445
+
12446
+ /**
12447
+ * Source stream for engineering-unit SSR corrections.
12448
+ * @enum {0 | 1}
12449
+ */
12450
+ export const SsrSource = Object.freeze({
12451
+ /**
12452
+ * RTCM SSR messages.
12453
+ */
12454
+ RtcmSsr: 0, "0": "RtcmSsr",
12455
+ /**
12456
+ * Galileo High Accuracy Service messages.
12457
+ */
12458
+ GalileoHas: 1, "1": "GalileoHas",
12459
+ });
12460
+
11931
12461
  /**
11932
12462
  * A batch of Sun and Moon positions, one per epoch: flat row-major `sun` and
11933
12463
  * `moon` `Float64Array`s of length `3 * epochCount`, in **metres**.
@@ -12848,6 +13378,40 @@ export function acquire(samples, prn, options) {
12848
13378
  return AcquisitionResult.__wrap(ret[0]);
12849
13379
  }
12850
13380
 
13381
+ /**
13382
+ * On-sky angle in degrees between two direction vectors.
13383
+ * @param {Float64Array} a
13384
+ * @param {Float64Array} b
13385
+ * @returns {number}
13386
+ */
13387
+ export function angularSeparation(a, b) {
13388
+ const ptr0 = passArrayF64ToWasm0(a, wasm.__wbindgen_malloc);
13389
+ const len0 = WASM_VECTOR_LEN;
13390
+ const ptr1 = passArrayF64ToWasm0(b, wasm.__wbindgen_malloc);
13391
+ const len1 = WASM_VECTOR_LEN;
13392
+ const ret = wasm.angularSeparation(ptr0, len0, ptr1, len1);
13393
+ if (ret[2]) {
13394
+ throw takeFromExternrefTable0(ret[1]);
13395
+ }
13396
+ return ret[0];
13397
+ }
13398
+
13399
+ /**
13400
+ * On-sky angle in degrees between two `(lonDeg, latDeg)` direction pairs.
13401
+ * @param {number} a_lon_deg
13402
+ * @param {number} a_lat_deg
13403
+ * @param {number} b_lon_deg
13404
+ * @param {number} b_lat_deg
13405
+ * @returns {number}
13406
+ */
13407
+ export function angularSeparationCoords(a_lon_deg, a_lat_deg, b_lon_deg, b_lat_deg) {
13408
+ const ret = wasm.angularSeparationCoords(a_lon_deg, a_lat_deg, b_lon_deg, b_lat_deg);
13409
+ if (ret[2]) {
13410
+ throw takeFromExternrefTable0(ret[1]);
13411
+ }
13412
+ return ret[0];
13413
+ }
13414
+
12851
13415
  /**
12852
13416
  * Evaluate NRLMSISE-00 neutral-atmosphere density and temperature.
12853
13417
  *
@@ -12887,6 +13451,45 @@ export function atmosphereSpaceWeatherDefaults() {
12887
13451
  return SpaceWeatherDefaults.__wrap(ret);
12888
13452
  }
12889
13453
 
13454
+ /**
13455
+ * Solar beta angle in degrees from orbit normal and Sun vectors.
13456
+ * @param {Float64Array} orbit_normal
13457
+ * @param {Float64Array} sun
13458
+ * @returns {number}
13459
+ */
13460
+ export function betaAngle(orbit_normal, sun) {
13461
+ const ptr0 = passArrayF64ToWasm0(orbit_normal, wasm.__wbindgen_malloc);
13462
+ const len0 = WASM_VECTOR_LEN;
13463
+ const ptr1 = passArrayF64ToWasm0(sun, wasm.__wbindgen_malloc);
13464
+ const len1 = WASM_VECTOR_LEN;
13465
+ const ret = wasm.betaAngle(ptr0, len0, ptr1, len1);
13466
+ if (ret[2]) {
13467
+ throw takeFromExternrefTable0(ret[1]);
13468
+ }
13469
+ return ret[0];
13470
+ }
13471
+
13472
+ /**
13473
+ * Solar beta angle in degrees from an inertial state and Sun vector.
13474
+ * @param {Float64Array} r
13475
+ * @param {Float64Array} v
13476
+ * @param {Float64Array} sun
13477
+ * @returns {number}
13478
+ */
13479
+ export function betaAngleFromState(r, v, sun) {
13480
+ const ptr0 = passArrayF64ToWasm0(r, wasm.__wbindgen_malloc);
13481
+ const len0 = WASM_VECTOR_LEN;
13482
+ const ptr1 = passArrayF64ToWasm0(v, wasm.__wbindgen_malloc);
13483
+ const len1 = WASM_VECTOR_LEN;
13484
+ const ptr2 = passArrayF64ToWasm0(sun, wasm.__wbindgen_malloc);
13485
+ const len2 = WASM_VECTOR_LEN;
13486
+ const ret = wasm.betaAngleFromState(ptr0, len0, ptr1, len1, ptr2, len2);
13487
+ if (ret[2]) {
13488
+ throw takeFromExternrefTable0(ret[1]);
13489
+ }
13490
+ return ret[0];
13491
+ }
13492
+
12890
13493
  /**
12891
13494
  * Resolve integer ambiguities with a bounded lattice search.
12892
13495
  *
@@ -13018,6 +13621,32 @@ export function cn0(eirp_dbw, fspl_db, receiver_gt_dbk, other_losses_db) {
13018
13621
  return ret[0];
13019
13622
  }
13020
13623
 
13624
+ /**
13625
+ * @param {any} coe
13626
+ * @param {RetrogradeFactor | null} [factor]
13627
+ * @returns {any}
13628
+ */
13629
+ export function coe2eq(coe, factor) {
13630
+ const ret = wasm.coe2eq(coe, isLikeNone(factor) ? 2 : factor);
13631
+ if (ret[2]) {
13632
+ throw takeFromExternrefTable0(ret[1]);
13633
+ }
13634
+ return takeFromExternrefTable0(ret[0]);
13635
+ }
13636
+
13637
+ /**
13638
+ * @param {any} coe
13639
+ * @param {RetrogradeFactor | null} [factor]
13640
+ * @returns {any}
13641
+ */
13642
+ export function coe2mee(coe, factor) {
13643
+ const ret = wasm.coe2mee(coe, isLikeNone(factor) ? 2 : factor);
13644
+ if (ret[2]) {
13645
+ throw takeFromExternrefTable0(ret[1]);
13646
+ }
13647
+ return takeFromExternrefTable0(ret[0]);
13648
+ }
13649
+
13021
13650
  /**
13022
13651
  * Convert classical orbital elements to an inertial Cartesian state.
13023
13652
  *
@@ -13190,6 +13819,35 @@ export function coverageLookAngles(satellites, stations, epoch_unix_us) {
13190
13819
  return CoverageGrid.__wrap(ret[0]);
13191
13820
  }
13192
13821
 
13822
+ /**
13823
+ * @param {any} rel
13824
+ * @param {number} n_rad_s
13825
+ * @param {number} dt_s
13826
+ * @returns {any}
13827
+ */
13828
+ export function cwPropagate(rel, n_rad_s, dt_s) {
13829
+ const ret = wasm.cwPropagate(rel, n_rad_s, dt_s);
13830
+ if (ret[2]) {
13831
+ throw takeFromExternrefTable0(ret[1]);
13832
+ }
13833
+ return takeFromExternrefTable0(ret[0]);
13834
+ }
13835
+
13836
+ /**
13837
+ * @param {number} n_rad_s
13838
+ * @param {number} dt_s
13839
+ * @returns {Float64Array}
13840
+ */
13841
+ export function cwStm(n_rad_s, dt_s) {
13842
+ const ret = wasm.cwStm(n_rad_s, dt_s);
13843
+ if (ret[3]) {
13844
+ throw takeFromExternrefTable0(ret[2]);
13845
+ }
13846
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
13847
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
13848
+ return v1;
13849
+ }
13850
+
13193
13851
  /**
13194
13852
  * Decode Compact RINEX (Hatanaka) bytes into plain RINEX OBS text. Throws a
13195
13853
  * `TypeError` on non-UTF-8 input and an `Error` on a decode failure.
@@ -13296,6 +13954,38 @@ export function decodeRtcmMessage(body) {
13296
13954
  return takeFromExternrefTable0(ret[0]);
13297
13955
  }
13298
13956
 
13957
+ /**
13958
+ * @param {Uint8Array} bytes
13959
+ * @param {string | null} [form]
13960
+ * @returns {any}
13961
+ */
13962
+ export function decodeSbasMessage(bytes, form) {
13963
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
13964
+ const len0 = WASM_VECTOR_LEN;
13965
+ var ptr1 = isLikeNone(form) ? 0 : passStringToWasm0(form, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
13966
+ var len1 = WASM_VECTOR_LEN;
13967
+ const ret = wasm.decodeSbasMessage(ptr0, len0, ptr1, len1);
13968
+ if (ret[2]) {
13969
+ throw takeFromExternrefTable0(ret[1]);
13970
+ }
13971
+ return takeFromExternrefTable0(ret[0]);
13972
+ }
13973
+
13974
+ /**
13975
+ * @param {Uint8Array} bytes
13976
+ * @param {boolean | null} [framed]
13977
+ * @returns {any}
13978
+ */
13979
+ export function decodeSsr(bytes, framed) {
13980
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
13981
+ const len0 = WASM_VECTOR_LEN;
13982
+ const ret = wasm.decodeSsr(ptr0, len0, isLikeNone(framed) ? 0xFFFFFF : framed ? 1 : 0);
13983
+ if (ret[2]) {
13984
+ throw takeFromExternrefTable0(ret[1]);
13985
+ }
13986
+ return takeFromExternrefTable0(ret[0]);
13987
+ }
13988
+
13299
13989
  /**
13300
13990
  * Standard dual-frequency ionosphere-free carrier pair for a constellation.
13301
13991
  * @param {GnssSystem} system
@@ -13515,6 +14205,32 @@ export function earthAngularRadius(satellite_position_km) {
13515
14205
  return v2;
13516
14206
  }
13517
14207
 
14208
+ /**
14209
+ * @param {number} eccentric_anomaly_rad
14210
+ * @param {number} eccentricity
14211
+ * @returns {number}
14212
+ */
14213
+ export function eccentricToMean(eccentric_anomaly_rad, eccentricity) {
14214
+ const ret = wasm.eccentricToMean(eccentric_anomaly_rad, eccentricity);
14215
+ if (ret[2]) {
14216
+ throw takeFromExternrefTable0(ret[1]);
14217
+ }
14218
+ return ret[0];
14219
+ }
14220
+
14221
+ /**
14222
+ * @param {number} eccentric_anomaly_rad
14223
+ * @param {number} eccentricity
14224
+ * @returns {number}
14225
+ */
14226
+ export function eccentricToTrue(eccentric_anomaly_rad, eccentricity) {
14227
+ const ret = wasm.eccentricToTrue(eccentric_anomaly_rad, eccentricity);
14228
+ if (ret[2]) {
14229
+ throw takeFromExternrefTable0(ret[1]);
14230
+ }
14231
+ return ret[0];
14232
+ }
14233
+
13518
14234
  /**
13519
14235
  * Convert a batch of ITRS (ECEF) positions to geodetic coordinates.
13520
14236
  *
@@ -13756,20 +14472,45 @@ export function encounterPlaneCovariance(frame, covariance_km2) {
13756
14472
  }
13757
14473
 
13758
14474
  /**
13759
- * Confidence ellipse from an arbitrary 2x2 covariance block.
13760
- *
13761
- * `covariance` is a flat row-major length-4 `Float64Array` (`[c00, c01, c10,
13762
- * c11]`); `confidence` is in `(0, 1)`. The semi-axes are the eigenvalues of the
13763
- * symmetrized block scaled by the chi-square(2) quantile. Throws a `RangeError`
13764
- * for a non-positive-semidefinite block or an out-of-range confidence.
13765
- * Delegates to `sidereon_core::geometry::error_ellipse_2x2`.
13766
- * @param {Float64Array} covariance
13767
- * @param {number} confidence
13768
- * @returns {ErrorEllipse2}
14475
+ * @param {any} eq
14476
+ * @returns {any}
13769
14477
  */
13770
- export function errorEllipse2(covariance, confidence) {
13771
- const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
13772
- const len0 = WASM_VECTOR_LEN;
14478
+ export function eq2coe(eq) {
14479
+ const ret = wasm.eq2coe(eq);
14480
+ if (ret[2]) {
14481
+ throw takeFromExternrefTable0(ret[1]);
14482
+ }
14483
+ return takeFromExternrefTable0(ret[0]);
14484
+ }
14485
+
14486
+ /**
14487
+ * @param {any} eq
14488
+ * @param {number} mu_km3_s2
14489
+ * @returns {any}
14490
+ */
14491
+ export function eq2rv(eq, mu_km3_s2) {
14492
+ const ret = wasm.eq2rv(eq, mu_km3_s2);
14493
+ if (ret[2]) {
14494
+ throw takeFromExternrefTable0(ret[1]);
14495
+ }
14496
+ return takeFromExternrefTable0(ret[0]);
14497
+ }
14498
+
14499
+ /**
14500
+ * Confidence ellipse from an arbitrary 2x2 covariance block.
14501
+ *
14502
+ * `covariance` is a flat row-major length-4 `Float64Array` (`[c00, c01, c10,
14503
+ * c11]`); `confidence` is in `(0, 1)`. The semi-axes are the eigenvalues of the
14504
+ * symmetrized block scaled by the chi-square(2) quantile. Throws a `RangeError`
14505
+ * for a non-positive-semidefinite block or an out-of-range confidence.
14506
+ * Delegates to `sidereon_core::geometry::error_ellipse_2x2`.
14507
+ * @param {Float64Array} covariance
14508
+ * @param {number} confidence
14509
+ * @returns {ErrorEllipse2}
14510
+ */
14511
+ export function errorEllipse2(covariance, confidence) {
14512
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
14513
+ const len0 = WASM_VECTOR_LEN;
13773
14514
  const ret = wasm.errorEllipse2(ptr0, len0, confidence);
13774
14515
  if (ret[2]) {
13775
14516
  throw takeFromExternrefTable0(ret[1]);
@@ -13777,6 +14518,20 @@ export function errorEllipse2(covariance, confidence) {
13777
14518
  return ErrorEllipse2.__wrap(ret[0]);
13778
14519
  }
13779
14520
 
14521
+ /**
14522
+ * @param {DragForce} drag
14523
+ * @param {any} request
14524
+ * @returns {any}
14525
+ */
14526
+ export function estimateDecay(drag, request) {
14527
+ _assertClass(drag, DragForce);
14528
+ const ret = wasm.estimateDecay(drag.__wbg_ptr, request);
14529
+ if (ret[2]) {
14530
+ throw takeFromExternrefTable0(ret[1]);
14531
+ }
14532
+ return takeFromExternrefTable0(ret[0]);
14533
+ }
14534
+
13780
14535
  /**
13781
14536
  * Find Moon elevation threshold crossings (moonrise / moonset) over a UTC
13782
14537
  * window.
@@ -14126,7 +14881,7 @@ export function fromCelestrakJson(json, system) {
14126
14881
  * skipping (rather than throwing on) entries that do not resolve.
14127
14882
  *
14128
14883
  * The lenient sibling of [`fromCelestrakJson`]: feed it a raw combined CelesTrak
14129
- * `gnss` feed and it returns `{ records, skipped }` `records` is the `Record[]`
14884
+ * `gnss` feed and it returns `{ records, skipped }`. `records` is the `Record[]`
14130
14885
  * for `system` (the same shape `fromCelestrakJson` returns, sorted by
14131
14886
  * `(system, prn)`), and `skipped` is a `SkippedOmm[]` of the entries whose
14132
14887
  * `OBJECT_NAME` did not resolve to a PRN for `system` (another constellation's
@@ -14458,7 +15213,7 @@ export function gnssSp3Id(system, prn) {
14458
15213
  }
14459
15214
 
14460
15215
  /**
14461
- * Stable lower-case display label for a constellation, e.g. `"gps"`.
15216
+ * Canonical core display label for a constellation, e.g. `"GPS"`.
14462
15217
  * @param {GnssSystem} system
14463
15218
  * @returns {string}
14464
15219
  */
@@ -14861,7 +15616,7 @@ export function kurtosis(x, fisher, bias) {
14861
15616
  * `covariance` is its `n x n` covariance as a row-major `number[][]`, and
14862
15617
  * `ratioThreshold` is the ratio-test acceptance threshold (RTKLIB's default is
14863
15618
  * `3.0`). Finds the true integer-least-squares optimum and runner-up for any
14864
- * positive-definite covariance no search box, no combinatorial blow-up.
15619
+ * positive-definite covariance. No search box, no combinatorial blow-up.
14865
15620
  * Returns an `IlsResult`. Throws a `TypeError` on a malformed shape, a
14866
15621
  * `RangeError` on a non-finite or out-of-domain input, and an `Error` on a
14867
15622
  * singular covariance or a non-converging search.
@@ -15131,6 +15886,64 @@ export function loadAntex(bytes) {
15131
15886
  return Antex.__wrap(ret[0]);
15132
15887
  }
15133
15888
 
15889
+ /**
15890
+ * @param {Uint8Array} bytes
15891
+ * @returns {BiasSet}
15892
+ */
15893
+ export function loadBiasSinex(bytes) {
15894
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
15895
+ const len0 = WASM_VECTOR_LEN;
15896
+ const ret = wasm.loadBiasSinex(ptr0, len0);
15897
+ if (ret[2]) {
15898
+ throw takeFromExternrefTable0(ret[1]);
15899
+ }
15900
+ return BiasSet.__wrap(ret[0]);
15901
+ }
15902
+
15903
+ /**
15904
+ * @param {Uint8Array} bytes
15905
+ * @returns {BiasSet}
15906
+ */
15907
+ export function loadBiasSinexLossy(bytes) {
15908
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
15909
+ const len0 = WASM_VECTOR_LEN;
15910
+ const ret = wasm.loadBiasSinexLossy(ptr0, len0);
15911
+ if (ret[2]) {
15912
+ throw takeFromExternrefTable0(ret[1]);
15913
+ }
15914
+ return BiasSet.__wrap(ret[0]);
15915
+ }
15916
+
15917
+ /**
15918
+ * @param {Uint8Array} bytes
15919
+ * @param {any} options
15920
+ * @returns {BiasSet}
15921
+ */
15922
+ export function loadCodeDcb(bytes, options) {
15923
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
15924
+ const len0 = WASM_VECTOR_LEN;
15925
+ const ret = wasm.loadCodeDcb(ptr0, len0, options);
15926
+ if (ret[2]) {
15927
+ throw takeFromExternrefTable0(ret[1]);
15928
+ }
15929
+ return BiasSet.__wrap(ret[0]);
15930
+ }
15931
+
15932
+ /**
15933
+ * @param {Uint8Array} bytes
15934
+ * @param {any} options
15935
+ * @returns {BiasSet}
15936
+ */
15937
+ export function loadCodeDcbLossy(bytes, options) {
15938
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
15939
+ const len0 = WASM_VECTOR_LEN;
15940
+ const ret = wasm.loadCodeDcbLossy(ptr0, len0, options);
15941
+ if (ret[2]) {
15942
+ throw takeFromExternrefTable0(ret[1]);
15943
+ }
15944
+ return BiasSet.__wrap(ret[0]);
15945
+ }
15946
+
15134
15947
  /**
15135
15948
  * Alias of [`decodeCrinex`] for callers that read a file as bytes.
15136
15949
  * @param {Uint8Array} bytes
@@ -15249,6 +16062,137 @@ export function loadSp3(bytes) {
15249
16062
  return Sp3.__wrap(ret[0]);
15250
16063
  }
15251
16064
 
16065
+ /**
16066
+ * @param {bigint} start_unix_us
16067
+ * @param {bigint} end_unix_us
16068
+ * @param {number} step_s
16069
+ * @param {number} tolerance_s
16070
+ * @returns {any}
16071
+ */
16072
+ export function lunarSolarEclipses(start_unix_us, end_unix_us, step_s, tolerance_s) {
16073
+ const ret = wasm.lunarSolarEclipses(start_unix_us, end_unix_us, step_s, tolerance_s);
16074
+ if (ret[2]) {
16075
+ throw takeFromExternrefTable0(ret[1]);
16076
+ }
16077
+ return takeFromExternrefTable0(ret[0]);
16078
+ }
16079
+
16080
+ /**
16081
+ * @param {Spk} spk
16082
+ * @param {bigint} start_unix_us
16083
+ * @param {bigint} end_unix_us
16084
+ * @param {number} step_s
16085
+ * @param {number} tolerance_s
16086
+ * @returns {any}
16087
+ */
16088
+ export function lunarSolarEclipsesSpk(spk, start_unix_us, end_unix_us, step_s, tolerance_s) {
16089
+ _assertClass(spk, Spk);
16090
+ const ret = wasm.lunarSolarEclipsesSpk(spk.__wbg_ptr, start_unix_us, end_unix_us, step_s, tolerance_s);
16091
+ if (ret[2]) {
16092
+ throw takeFromExternrefTable0(ret[1]);
16093
+ }
16094
+ return takeFromExternrefTable0(ret[0]);
16095
+ }
16096
+
16097
+ /**
16098
+ * @param {Float64Array} position_km
16099
+ * @param {Float64Array} velocity_km_s
16100
+ * @returns {Float64Array}
16101
+ */
16102
+ export function lvlhRotation(position_km, velocity_km_s) {
16103
+ const ptr0 = passArrayF64ToWasm0(position_km, wasm.__wbindgen_malloc);
16104
+ const len0 = WASM_VECTOR_LEN;
16105
+ const ptr1 = passArrayF64ToWasm0(velocity_km_s, wasm.__wbindgen_malloc);
16106
+ const len1 = WASM_VECTOR_LEN;
16107
+ const ret = wasm.lvlhRotation(ptr0, len0, ptr1, len1);
16108
+ if (ret[3]) {
16109
+ throw takeFromExternrefTable0(ret[2]);
16110
+ }
16111
+ var v3 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
16112
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
16113
+ return v3;
16114
+ }
16115
+
16116
+ /**
16117
+ * @param {number} radius_km
16118
+ * @returns {number}
16119
+ */
16120
+ export function meanMotionCircular(radius_km) {
16121
+ const ret = wasm.meanMotionCircular(radius_km);
16122
+ if (ret[2]) {
16123
+ throw takeFromExternrefTable0(ret[1]);
16124
+ }
16125
+ return ret[0];
16126
+ }
16127
+
16128
+ /**
16129
+ * @param {Float64Array} position_km
16130
+ * @param {Float64Array} velocity_km_s
16131
+ * @returns {number}
16132
+ */
16133
+ export function meanMotionFromState(position_km, velocity_km_s) {
16134
+ const ptr0 = passArrayF64ToWasm0(position_km, wasm.__wbindgen_malloc);
16135
+ const len0 = WASM_VECTOR_LEN;
16136
+ const ptr1 = passArrayF64ToWasm0(velocity_km_s, wasm.__wbindgen_malloc);
16137
+ const len1 = WASM_VECTOR_LEN;
16138
+ const ret = wasm.meanMotionFromState(ptr0, len0, ptr1, len1);
16139
+ if (ret[2]) {
16140
+ throw takeFromExternrefTable0(ret[1]);
16141
+ }
16142
+ return ret[0];
16143
+ }
16144
+
16145
+ /**
16146
+ * @param {number} mean_anomaly_rad
16147
+ * @param {number} eccentricity
16148
+ * @returns {number}
16149
+ */
16150
+ export function meanToEccentric(mean_anomaly_rad, eccentricity) {
16151
+ const ret = wasm.meanToEccentric(mean_anomaly_rad, eccentricity);
16152
+ if (ret[2]) {
16153
+ throw takeFromExternrefTable0(ret[1]);
16154
+ }
16155
+ return ret[0];
16156
+ }
16157
+
16158
+ /**
16159
+ * @param {number} mean_anomaly_rad
16160
+ * @param {number} eccentricity
16161
+ * @returns {number}
16162
+ */
16163
+ export function meanToTrue(mean_anomaly_rad, eccentricity) {
16164
+ const ret = wasm.meanToTrue(mean_anomaly_rad, eccentricity);
16165
+ if (ret[2]) {
16166
+ throw takeFromExternrefTable0(ret[1]);
16167
+ }
16168
+ return ret[0];
16169
+ }
16170
+
16171
+ /**
16172
+ * @param {any} mee
16173
+ * @returns {any}
16174
+ */
16175
+ export function mee2coe(mee) {
16176
+ const ret = wasm.mee2coe(mee);
16177
+ if (ret[2]) {
16178
+ throw takeFromExternrefTable0(ret[1]);
16179
+ }
16180
+ return takeFromExternrefTable0(ret[0]);
16181
+ }
16182
+
16183
+ /**
16184
+ * @param {any} mee
16185
+ * @param {number} mu_km3_s2
16186
+ * @returns {any}
16187
+ */
16188
+ export function mee2rv(mee, mu_km3_s2) {
16189
+ const ret = wasm.mee2rv(mee, mu_km3_s2);
16190
+ if (ret[2]) {
16191
+ throw takeFromExternrefTable0(ret[1]);
16192
+ }
16193
+ return takeFromExternrefTable0(ret[0]);
16194
+ }
16195
+
15252
16196
  /**
15253
16197
  * Melbourne-Wubbena combination, metres.
15254
16198
  * @param {number} phi1_cycles
@@ -15308,6 +16252,46 @@ export function mergeSp3(sources, options) {
15308
16252
  return Sp3MergeResult.__wrap(ret[0]);
15309
16253
  }
15310
16254
 
16255
+ /**
16256
+ * @param {string} body
16257
+ * @param {any} station
16258
+ * @param {bigint} start_unix_us
16259
+ * @param {bigint} end_unix_us
16260
+ * @param {number} step_s
16261
+ * @param {number} tolerance_s
16262
+ * @returns {any}
16263
+ */
16264
+ export function meridianTransits(body, station, start_unix_us, end_unix_us, step_s, tolerance_s) {
16265
+ const ptr0 = passStringToWasm0(body, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
16266
+ const len0 = WASM_VECTOR_LEN;
16267
+ const ret = wasm.meridianTransits(ptr0, len0, station, start_unix_us, end_unix_us, step_s, tolerance_s);
16268
+ if (ret[2]) {
16269
+ throw takeFromExternrefTable0(ret[1]);
16270
+ }
16271
+ return takeFromExternrefTable0(ret[0]);
16272
+ }
16273
+
16274
+ /**
16275
+ * @param {Spk} spk
16276
+ * @param {string} body
16277
+ * @param {any} station
16278
+ * @param {bigint} start_unix_us
16279
+ * @param {bigint} end_unix_us
16280
+ * @param {number} step_s
16281
+ * @param {number} tolerance_s
16282
+ * @returns {any}
16283
+ */
16284
+ export function meridianTransitsSpk(spk, body, station, start_unix_us, end_unix_us, step_s, tolerance_s) {
16285
+ _assertClass(spk, Spk);
16286
+ const ptr0 = passStringToWasm0(body, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
16287
+ const len0 = WASM_VECTOR_LEN;
16288
+ const ret = wasm.meridianTransitsSpk(spk.__wbg_ptr, ptr0, len0, station, start_unix_us, end_unix_us, step_s, tolerance_s);
16289
+ if (ret[2]) {
16290
+ throw takeFromExternrefTable0(ret[1]);
16291
+ }
16292
+ return takeFromExternrefTable0(ret[0]);
16293
+ }
16294
+
15311
16295
  /**
15312
16296
  * Mean, variance, skewness, and excess kurtosis of a residual set in one pass.
15313
16297
  *
@@ -15409,6 +16393,38 @@ export function moonIllumination(latitude_deg, longitude_deg, altitude_km, epoch
15409
16393
  return takeFromExternrefTable0(ret[0]);
15410
16394
  }
15411
16395
 
16396
+ /**
16397
+ * @param {bigint} start_unix_us
16398
+ * @param {bigint} end_unix_us
16399
+ * @param {number} step_s
16400
+ * @param {number} tolerance_s
16401
+ * @returns {any}
16402
+ */
16403
+ export function moonPhases(start_unix_us, end_unix_us, step_s, tolerance_s) {
16404
+ const ret = wasm.moonPhases(start_unix_us, end_unix_us, step_s, tolerance_s);
16405
+ if (ret[2]) {
16406
+ throw takeFromExternrefTable0(ret[1]);
16407
+ }
16408
+ return takeFromExternrefTable0(ret[0]);
16409
+ }
16410
+
16411
+ /**
16412
+ * @param {Spk} spk
16413
+ * @param {bigint} start_unix_us
16414
+ * @param {bigint} end_unix_us
16415
+ * @param {number} step_s
16416
+ * @param {number} tolerance_s
16417
+ * @returns {any}
16418
+ */
16419
+ export function moonPhasesSpk(spk, start_unix_us, end_unix_us, step_s, tolerance_s) {
16420
+ _assertClass(spk, Spk);
16421
+ const ret = wasm.moonPhasesSpk(spk.__wbg_ptr, start_unix_us, end_unix_us, step_s, tolerance_s);
16422
+ if (ret[2]) {
16423
+ throw takeFromExternrefTable0(ret[1]);
16424
+ }
16425
+ return takeFromExternrefTable0(ret[0]);
16426
+ }
16427
+
15412
16428
  /**
15413
16429
  * Narrow-lane code combination, metres.
15414
16430
  * @param {number} p1_m
@@ -15596,6 +16612,64 @@ export function observationKindLabel(kind) {
15596
16612
  }
15597
16613
  }
15598
16614
 
16615
+ /**
16616
+ * Observe `"sun"` or `"moon"` from a geodetic station at a UTC unix microsecond epoch.
16617
+ * @param {any} station
16618
+ * @param {bigint} epoch_unix_us
16619
+ * @param {string} target
16620
+ * @param {any} options
16621
+ * @returns {any}
16622
+ */
16623
+ export function observe(station, epoch_unix_us, target, options) {
16624
+ const ptr0 = passStringToWasm0(target, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
16625
+ const len0 = WASM_VECTOR_LEN;
16626
+ const ret = wasm.observe(station, epoch_unix_us, ptr0, len0, options);
16627
+ if (ret[2]) {
16628
+ throw takeFromExternrefTable0(ret[1]);
16629
+ }
16630
+ return takeFromExternrefTable0(ret[0]);
16631
+ }
16632
+
16633
+ /**
16634
+ * Observe a caller-supplied SSB-centered target state using an SPK for Earth and Sun.
16635
+ * @param {any} station
16636
+ * @param {bigint} epoch_unix_us
16637
+ * @param {Spk} spk
16638
+ * @param {Float64Array} position_km
16639
+ * @param {Float64Array} velocity_km_s
16640
+ * @param {any} options
16641
+ * @returns {any}
16642
+ */
16643
+ export function observeBarycentricState(station, epoch_unix_us, spk, position_km, velocity_km_s, options) {
16644
+ _assertClass(spk, Spk);
16645
+ const ptr0 = passArrayF64ToWasm0(position_km, wasm.__wbindgen_malloc);
16646
+ const len0 = WASM_VECTOR_LEN;
16647
+ const ptr1 = passArrayF64ToWasm0(velocity_km_s, wasm.__wbindgen_malloc);
16648
+ const len1 = WASM_VECTOR_LEN;
16649
+ const ret = wasm.observeBarycentricState(station, epoch_unix_us, spk.__wbg_ptr, ptr0, len0, ptr1, len1, options);
16650
+ if (ret[2]) {
16651
+ throw takeFromExternrefTable0(ret[1]);
16652
+ }
16653
+ return takeFromExternrefTable0(ret[0]);
16654
+ }
16655
+
16656
+ /**
16657
+ * Observe an SPK target body by NAIF id using default full-chain options.
16658
+ * @param {any} station
16659
+ * @param {bigint} epoch_unix_us
16660
+ * @param {Spk} spk
16661
+ * @param {number} naif_id
16662
+ * @returns {any}
16663
+ */
16664
+ export function observeSpkBody(station, epoch_unix_us, spk, naif_id) {
16665
+ _assertClass(spk, Spk);
16666
+ const ret = wasm.observeSpkBody(station, epoch_unix_us, spk.__wbg_ptr, naif_id);
16667
+ if (ret[2]) {
16668
+ throw takeFromExternrefTable0(ret[1]);
16669
+ }
16670
+ return takeFromExternrefTable0(ret[0]);
16671
+ }
16672
+
15599
16673
  /**
15600
16674
  * Ocean tide loading displacement of an ITRF station, metres (ECEF).
15601
16675
  *
@@ -16001,8 +17075,47 @@ export function phaseAngle(satellite_position_km, sun_position_km, observer_posi
16001
17075
  * @param {number} f_hz
16002
17076
  * @returns {number}
16003
17077
  */
16004
- export function phaseMeters(phi_cycles, f_hz) {
16005
- const ret = wasm.phaseMeters(phi_cycles, f_hz);
17078
+ export function phaseMeters(phi_cycles, f_hz) {
17079
+ const ret = wasm.phaseMeters(phi_cycles, f_hz);
17080
+ if (ret[2]) {
17081
+ throw takeFromExternrefTable0(ret[1]);
17082
+ }
17083
+ return ret[0];
17084
+ }
17085
+
17086
+ /**
17087
+ * @param {Spk} spk
17088
+ * @param {string} planet
17089
+ * @param {string} kind
17090
+ * @param {bigint} start_unix_us
17091
+ * @param {bigint} end_unix_us
17092
+ * @param {number} step_s
17093
+ * @param {number} tolerance_s
17094
+ * @returns {any}
17095
+ */
17096
+ export function planetaryEvents(spk, planet, kind, start_unix_us, end_unix_us, step_s, tolerance_s) {
17097
+ _assertClass(spk, Spk);
17098
+ const ptr0 = passStringToWasm0(planet, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
17099
+ const len0 = WASM_VECTOR_LEN;
17100
+ const ptr1 = passStringToWasm0(kind, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
17101
+ const len1 = WASM_VECTOR_LEN;
17102
+ const ret = wasm.planetaryEvents(spk.__wbg_ptr, ptr0, len0, ptr1, len1, start_unix_us, end_unix_us, step_s, tolerance_s);
17103
+ if (ret[2]) {
17104
+ throw takeFromExternrefTable0(ret[1]);
17105
+ }
17106
+ return takeFromExternrefTable0(ret[0]);
17107
+ }
17108
+
17109
+ /**
17110
+ * Position angle in degrees from North through East.
17111
+ * @param {number} from_lon_deg
17112
+ * @param {number} from_lat_deg
17113
+ * @param {number} to_lon_deg
17114
+ * @param {number} to_lat_deg
17115
+ * @returns {number}
17116
+ */
17117
+ export function positionAngle(from_lon_deg, from_lat_deg, to_lon_deg, to_lat_deg) {
17118
+ const ret = wasm.positionAngle(from_lon_deg, from_lat_deg, to_lon_deg, to_lat_deg);
16006
17119
  if (ret[2]) {
16007
17120
  throw takeFromExternrefTable0(ret[1]);
16008
17121
  }
@@ -16038,6 +17151,27 @@ export function pppCorrections(sp3, epochs, receiver_ecef_m, options) {
16038
17151
  return takeFromExternrefTable0(ret[0]);
16039
17152
  }
16040
17153
 
17154
+ /**
17155
+ * @param {Sp3} sp3
17156
+ * @param {any} epochs
17157
+ * @param {Float64Array} receiver_ecef_m
17158
+ * @param {any} options
17159
+ * @param {BiasSet} bias_set
17160
+ * @param {any} code_bias
17161
+ * @returns {any}
17162
+ */
17163
+ export function pppCorrectionsWithCodeBias(sp3, epochs, receiver_ecef_m, options, bias_set, code_bias) {
17164
+ _assertClass(sp3, Sp3);
17165
+ const ptr0 = passArrayF64ToWasm0(receiver_ecef_m, wasm.__wbindgen_malloc);
17166
+ const len0 = WASM_VECTOR_LEN;
17167
+ _assertClass(bias_set, BiasSet);
17168
+ const ret = wasm.pppCorrectionsWithCodeBias(sp3.__wbg_ptr, epochs, ptr0, len0, options, bias_set.__wbg_ptr, code_bias);
17169
+ if (ret[2]) {
17170
+ throw takeFromExternrefTable0(ret[1]);
17171
+ }
17172
+ return takeFromExternrefTable0(ret[0]);
17173
+ }
17174
+
16041
17175
  /**
16042
17176
  * Build a sample-backed precise-ephemeris source from an array of samples.
16043
17177
  *
@@ -16172,6 +17306,20 @@ export function propagateBatch(satellites, epochs_unix_us) {
16172
17306
  return FleetPropagation.__wrap(ret[0]);
16173
17307
  }
16174
17308
 
17309
+ /**
17310
+ * @param {any} coe
17311
+ * @param {number} mu_km3_s2
17312
+ * @param {number} dt_s
17313
+ * @returns {any}
17314
+ */
17315
+ export function propagateKepler(coe, mu_km3_s2, dt_s) {
17316
+ const ret = wasm.propagateKepler(coe, mu_km3_s2, dt_s);
17317
+ if (ret[2]) {
17318
+ throw takeFromExternrefTable0(ret[1]);
17319
+ }
17320
+ return takeFromExternrefTable0(ret[0]);
17321
+ }
17322
+
16175
17323
  /**
16176
17324
  * Numerically propagate an ECI Cartesian state and sample it at a grid of
16177
17325
  * epochs.
@@ -16260,6 +17408,19 @@ export function rangeRateToDoppler(range_rate_m_s, carrier_hz) {
16260
17408
  return ret[0];
16261
17409
  }
16262
17410
 
17411
+ /**
17412
+ * @param {any} chief
17413
+ * @param {any} deputy
17414
+ * @returns {any}
17415
+ */
17416
+ export function relativeState(chief, deputy) {
17417
+ const ret = wasm.relativeState(chief, deputy);
17418
+ if (ret[2]) {
17419
+ throw takeFromExternrefTable0(ret[1]);
17420
+ }
17421
+ return takeFromExternrefTable0(ret[0]);
17422
+ }
17423
+
16263
17424
  /**
16264
17425
  * Build a sampled GPS C/A code replica, an `Int8Array`.
16265
17426
  * @param {bigint} prn
@@ -16276,6 +17437,25 @@ export function replica(prn, options) {
16276
17437
  return v1;
16277
17438
  }
16278
17439
 
17440
+ /**
17441
+ * @param {Float64Array} position_km
17442
+ * @param {Float64Array} velocity_km_s
17443
+ * @returns {Float64Array}
17444
+ */
17445
+ export function ricRotation(position_km, velocity_km_s) {
17446
+ const ptr0 = passArrayF64ToWasm0(position_km, wasm.__wbindgen_malloc);
17447
+ const len0 = WASM_VECTOR_LEN;
17448
+ const ptr1 = passArrayF64ToWasm0(velocity_km_s, wasm.__wbindgen_malloc);
17449
+ const len1 = WASM_VECTOR_LEN;
17450
+ const ret = wasm.ricRotation(ptr0, len0, ptr1, len1);
17451
+ if (ret[3]) {
17452
+ throw takeFromExternrefTable0(ret[2]);
17453
+ }
17454
+ var v3 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
17455
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
17456
+ return v3;
17457
+ }
17458
+
16279
17459
  /**
16280
17460
  * RINEX observation band frequency in hertz for a system and band digit.
16281
17461
  * @param {GnssSystem} system
@@ -16310,6 +17490,25 @@ export function rinexBandWavelengthM(system, band, glonass_channel) {
16310
17490
  return ret[0] === 0 ? undefined : ret[1];
16311
17491
  }
16312
17492
 
17493
+ /**
17494
+ * @param {Float64Array} position_km
17495
+ * @param {Float64Array} velocity_km_s
17496
+ * @returns {Float64Array}
17497
+ */
17498
+ export function rswRotation(position_km, velocity_km_s) {
17499
+ const ptr0 = passArrayF64ToWasm0(position_km, wasm.__wbindgen_malloc);
17500
+ const len0 = WASM_VECTOR_LEN;
17501
+ const ptr1 = passArrayF64ToWasm0(velocity_km_s, wasm.__wbindgen_malloc);
17502
+ const len1 = WASM_VECTOR_LEN;
17503
+ const ret = wasm.rswRotation(ptr0, len0, ptr1, len1);
17504
+ if (ret[3]) {
17505
+ throw takeFromExternrefTable0(ret[2]);
17506
+ }
17507
+ var v3 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
17508
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
17509
+ return v3;
17510
+ }
17511
+
16313
17512
  /**
16314
17513
  * Read the 12-bit RTCM message number from a message body.
16315
17514
  *
@@ -16328,6 +17527,25 @@ export function rtcmMessageNumber(body) {
16328
17527
  return ret[0];
16329
17528
  }
16330
17529
 
17530
+ /**
17531
+ * @param {Float64Array} position_km
17532
+ * @param {Float64Array} velocity_km_s
17533
+ * @returns {Float64Array}
17534
+ */
17535
+ export function rtnRotation(position_km, velocity_km_s) {
17536
+ const ptr0 = passArrayF64ToWasm0(position_km, wasm.__wbindgen_malloc);
17537
+ const len0 = WASM_VECTOR_LEN;
17538
+ const ptr1 = passArrayF64ToWasm0(velocity_km_s, wasm.__wbindgen_malloc);
17539
+ const len1 = WASM_VECTOR_LEN;
17540
+ const ret = wasm.rtnRotation(ptr0, len0, ptr1, len1);
17541
+ if (ret[3]) {
17542
+ throw takeFromExternrefTable0(ret[2]);
17543
+ }
17544
+ var v3 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
17545
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
17546
+ return v3;
17547
+ }
17548
+
16331
17549
  /**
16332
17550
  * Transform a 3x3 RTN covariance (flat row-major length 9) to ECI for the given
16333
17551
  * orbit state. Returns a flat row-major length-9 `Float64Array`.
@@ -16378,6 +17596,82 @@ export function rv2coe(r, v, mu) {
16378
17596
  return takeFromExternrefTable0(ret[0]);
16379
17597
  }
16380
17598
 
17599
+ /**
17600
+ * @param {Float64Array} r
17601
+ * @param {Float64Array} v
17602
+ * @param {number} mu_km3_s2
17603
+ * @param {RetrogradeFactor | null} [factor]
17604
+ * @returns {any}
17605
+ */
17606
+ export function rv2eq(r, v, mu_km3_s2, factor) {
17607
+ const ptr0 = passArrayF64ToWasm0(r, wasm.__wbindgen_malloc);
17608
+ const len0 = WASM_VECTOR_LEN;
17609
+ const ptr1 = passArrayF64ToWasm0(v, wasm.__wbindgen_malloc);
17610
+ const len1 = WASM_VECTOR_LEN;
17611
+ const ret = wasm.rv2eq(ptr0, len0, ptr1, len1, mu_km3_s2, isLikeNone(factor) ? 2 : factor);
17612
+ if (ret[2]) {
17613
+ throw takeFromExternrefTable0(ret[1]);
17614
+ }
17615
+ return takeFromExternrefTable0(ret[0]);
17616
+ }
17617
+
17618
+ /**
17619
+ * @param {Float64Array} r
17620
+ * @param {Float64Array} v
17621
+ * @param {number} mu_km3_s2
17622
+ * @param {RetrogradeFactor | null} [factor]
17623
+ * @returns {any}
17624
+ */
17625
+ export function rv2mee(r, v, mu_km3_s2, factor) {
17626
+ const ptr0 = passArrayF64ToWasm0(r, wasm.__wbindgen_malloc);
17627
+ const len0 = WASM_VECTOR_LEN;
17628
+ const ptr1 = passArrayF64ToWasm0(v, wasm.__wbindgen_malloc);
17629
+ const len1 = WASM_VECTOR_LEN;
17630
+ const ret = wasm.rv2mee(ptr0, len0, ptr1, len1, mu_km3_s2, isLikeNone(factor) ? 2 : factor);
17631
+ if (ret[2]) {
17632
+ throw takeFromExternrefTable0(ret[1]);
17633
+ }
17634
+ return takeFromExternrefTable0(ret[0]);
17635
+ }
17636
+
17637
+ /**
17638
+ * @param {BroadcastEphemeris} broadcast
17639
+ * @param {string[]} satellites
17640
+ * @param {number} start_j2000_s
17641
+ * @param {number} stop_j2000_s
17642
+ * @param {number} step_s
17643
+ * @returns {any}
17644
+ */
17645
+ export function sampleBroadcastEphemeris(broadcast, satellites, start_j2000_s, stop_j2000_s, step_s) {
17646
+ _assertClass(broadcast, BroadcastEphemeris);
17647
+ const ptr0 = passArrayJsValueToWasm0(satellites, wasm.__wbindgen_malloc);
17648
+ const len0 = WASM_VECTOR_LEN;
17649
+ const ret = wasm.sampleBroadcastEphemeris(broadcast.__wbg_ptr, ptr0, len0, start_j2000_s, stop_j2000_s, step_s);
17650
+ if (ret[2]) {
17651
+ throw takeFromExternrefTable0(ret[1]);
17652
+ }
17653
+ return takeFromExternrefTable0(ret[0]);
17654
+ }
17655
+
17656
+ /**
17657
+ * @param {Sp3} sp3
17658
+ * @param {string[]} satellites
17659
+ * @param {number} start_j2000_s
17660
+ * @param {number} stop_j2000_s
17661
+ * @param {number} step_s
17662
+ * @returns {any}
17663
+ */
17664
+ export function sampleSp3Ephemeris(sp3, satellites, start_j2000_s, stop_j2000_s, step_s) {
17665
+ _assertClass(sp3, Sp3);
17666
+ const ptr0 = passArrayJsValueToWasm0(satellites, wasm.__wbindgen_malloc);
17667
+ const len0 = WASM_VECTOR_LEN;
17668
+ const ret = wasm.sampleSp3Ephemeris(sp3.__wbg_ptr, ptr0, len0, start_j2000_s, stop_j2000_s, step_s);
17669
+ if (ret[2]) {
17670
+ throw takeFromExternrefTable0(ret[1]);
17671
+ }
17672
+ return takeFromExternrefTable0(ret[0]);
17673
+ }
17674
+
16381
17675
  /**
16382
17676
  * Apparent visual magnitude of a sunlit body from a diffuse-sphere phase law.
16383
17677
  *
@@ -16400,6 +17694,31 @@ export function satelliteVisualMagnitude(range_km, phase_angle_deg, standard_mag
16400
17694
  return ret[0];
16401
17695
  }
16402
17696
 
17697
+ /**
17698
+ * @param {BroadcastEphemeris} broadcast
17699
+ * @param {SbasCorrectionStore} store
17700
+ * @param {string} geo
17701
+ * @param {string} sat
17702
+ * @param {number} t_j2000_s
17703
+ * @param {string | null} [mode]
17704
+ * @returns {any}
17705
+ */
17706
+ export function sbasCorrectedState(broadcast, store, geo, sat, t_j2000_s, mode) {
17707
+ _assertClass(broadcast, BroadcastEphemeris);
17708
+ _assertClass(store, SbasCorrectionStore);
17709
+ const ptr0 = passStringToWasm0(geo, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
17710
+ const len0 = WASM_VECTOR_LEN;
17711
+ const ptr1 = passStringToWasm0(sat, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
17712
+ const len1 = WASM_VECTOR_LEN;
17713
+ var ptr2 = isLikeNone(mode) ? 0 : passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
17714
+ var len2 = WASM_VECTOR_LEN;
17715
+ const ret = wasm.sbasCorrectedState(broadcast.__wbg_ptr, store.__wbg_ptr, ptr0, len0, ptr1, len1, t_j2000_s, ptr2, len2);
17716
+ if (ret[2]) {
17717
+ throw takeFromExternrefTable0(ret[1]);
17718
+ }
17719
+ return takeFromExternrefTable0(ret[0]);
17720
+ }
17721
+
16403
17722
  /**
16404
17723
  * Screen a primary satellite against a secondary TLE catalog for threshold TCAs.
16405
17724
  *
@@ -16458,6 +17777,38 @@ export function screenTcaConjunctions(primary_line1, primary_line2, secondaries,
16458
17777
  return takeFromExternrefTable0(ret[0]);
16459
17778
  }
16460
17779
 
17780
+ /**
17781
+ * @param {bigint} start_unix_us
17782
+ * @param {bigint} end_unix_us
17783
+ * @param {number} step_s
17784
+ * @param {number} tolerance_s
17785
+ * @returns {any}
17786
+ */
17787
+ export function seasons(start_unix_us, end_unix_us, step_s, tolerance_s) {
17788
+ const ret = wasm.seasons(start_unix_us, end_unix_us, step_s, tolerance_s);
17789
+ if (ret[2]) {
17790
+ throw takeFromExternrefTable0(ret[1]);
17791
+ }
17792
+ return takeFromExternrefTable0(ret[0]);
17793
+ }
17794
+
17795
+ /**
17796
+ * @param {Spk} spk
17797
+ * @param {bigint} start_unix_us
17798
+ * @param {bigint} end_unix_us
17799
+ * @param {number} step_s
17800
+ * @param {number} tolerance_s
17801
+ * @returns {any}
17802
+ */
17803
+ export function seasonsSpk(spk, start_unix_us, end_unix_us, step_s, tolerance_s) {
17804
+ _assertClass(spk, Spk);
17805
+ const ret = wasm.seasonsSpk(spk.__wbg_ptr, start_unix_us, end_unix_us, step_s, tolerance_s);
17806
+ if (ret[2]) {
17807
+ throw takeFromExternrefTable0(ret[1]);
17808
+ }
17809
+ return takeFromExternrefTable0(ret[0]);
17810
+ }
17811
+
16461
17812
  /**
16462
17813
  * Select an IONEX product usable at `requestedEpochJ2000S`, degrading to a
16463
17814
  * diurnal-shifted prior product within `policy`.
@@ -16741,6 +18092,19 @@ export function solidEarthTide(station_ecef_m, year, month, day, fractional_hour
16741
18092
  return v4;
16742
18093
  }
16743
18094
 
18095
+ /**
18096
+ * @param {number} mean_anomaly_rad
18097
+ * @param {number} eccentricity
18098
+ * @returns {any}
18099
+ */
18100
+ export function solveKepler(mean_anomaly_rad, eccentricity) {
18101
+ const ret = wasm.solveKepler(mean_anomaly_rad, eccentricity);
18102
+ if (ret[2]) {
18103
+ throw takeFromExternrefTable0(ret[1]);
18104
+ }
18105
+ return takeFromExternrefTable0(ret[0]);
18106
+ }
18107
+
16744
18108
  /**
16745
18109
  * Solve a sequence of moving-baseline RTK epochs.
16746
18110
  *
@@ -16911,6 +18275,28 @@ export function solveRtkFloat(config) {
16911
18275
  return RtkFloatSolution.__wrap(ret[0]);
16912
18276
  }
16913
18277
 
18278
+ /**
18279
+ * @param {BroadcastEphemeris} broadcast
18280
+ * @param {SbasCorrectionStore} store
18281
+ * @param {string} geo
18282
+ * @param {any} request
18283
+ * @param {string | null} [mode]
18284
+ * @returns {SppSolution}
18285
+ */
18286
+ export function solveSppSbas(broadcast, store, geo, request, mode) {
18287
+ _assertClass(broadcast, BroadcastEphemeris);
18288
+ _assertClass(store, SbasCorrectionStore);
18289
+ const ptr0 = passStringToWasm0(geo, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
18290
+ const len0 = WASM_VECTOR_LEN;
18291
+ var ptr1 = isLikeNone(mode) ? 0 : passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
18292
+ var len1 = WASM_VECTOR_LEN;
18293
+ const ret = wasm.solveSppSbas(broadcast.__wbg_ptr, store.__wbg_ptr, ptr0, len0, request, ptr1, len1);
18294
+ if (ret[2]) {
18295
+ throw takeFromExternrefTable0(ret[1]);
18296
+ }
18297
+ return SppSolution.__wrap(ret[0]);
18298
+ }
18299
+
16914
18300
  /**
16915
18301
  * Solve a static RTK arc with one batch float solution and one validated fixed
16916
18302
  * solution over the whole arc.
@@ -17035,6 +18421,45 @@ export function splitJdToJ2000Seconds(jd_whole, jd_fraction) {
17035
18421
  return ret;
17036
18422
  }
17037
18423
 
18424
+ /**
18425
+ * @param {BroadcastEphemeris} broadcast
18426
+ * @param {SsrCorrectionStore} store
18427
+ * @param {string} sat
18428
+ * @param {number} t_j2000_s
18429
+ * @param {boolean | null} [fallback_to_broadcast]
18430
+ * @param {number | null} [allow_regional_provider]
18431
+ * @returns {any}
18432
+ */
18433
+ export function ssrCorrectedState(broadcast, store, sat, t_j2000_s, fallback_to_broadcast, allow_regional_provider) {
18434
+ _assertClass(broadcast, BroadcastEphemeris);
18435
+ _assertClass(store, SsrCorrectionStore);
18436
+ const ptr0 = passStringToWasm0(sat, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
18437
+ const len0 = WASM_VECTOR_LEN;
18438
+ const ret = wasm.ssrCorrectedState(broadcast.__wbg_ptr, store.__wbg_ptr, ptr0, len0, t_j2000_s, isLikeNone(fallback_to_broadcast) ? 0xFFFFFF : fallback_to_broadcast ? 1 : 0, isLikeNone(allow_regional_provider) ? 0xFFFFFF : allow_regional_provider);
18439
+ if (ret[2]) {
18440
+ throw takeFromExternrefTable0(ret[1]);
18441
+ }
18442
+ return takeFromExternrefTable0(ret[0]);
18443
+ }
18444
+
18445
+ /**
18446
+ * Stable lower-camel-case SSR source token.
18447
+ * @param {SsrSource} source
18448
+ * @returns {string}
18449
+ */
18450
+ export function ssrSourceLabel(source) {
18451
+ let deferred1_0;
18452
+ let deferred1_1;
18453
+ try {
18454
+ const ret = wasm.ssrSourceLabel(source);
18455
+ deferred1_0 = ret[0];
18456
+ deferred1_1 = ret[1];
18457
+ return getStringFromWasm0(ret[0], ret[1]);
18458
+ } finally {
18459
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
18460
+ }
18461
+ }
18462
+
17038
18463
  /**
17039
18464
  * Sub-observer point (planetary central meridian) on a rotating body.
17040
18465
  *
@@ -17392,6 +18817,32 @@ export function tropoZenithDelay(lat_deg, height_m, met) {
17392
18817
  return ZenithDelay.__wrap(ret[0]);
17393
18818
  }
17394
18819
 
18820
+ /**
18821
+ * @param {number} true_anomaly_rad
18822
+ * @param {number} eccentricity
18823
+ * @returns {number}
18824
+ */
18825
+ export function trueToEccentric(true_anomaly_rad, eccentricity) {
18826
+ const ret = wasm.trueToEccentric(true_anomaly_rad, eccentricity);
18827
+ if (ret[2]) {
18828
+ throw takeFromExternrefTable0(ret[1]);
18829
+ }
18830
+ return ret[0];
18831
+ }
18832
+
18833
+ /**
18834
+ * @param {number} true_anomaly_rad
18835
+ * @param {number} eccentricity
18836
+ * @returns {number}
18837
+ */
18838
+ export function trueToMean(true_anomaly_rad, eccentricity) {
18839
+ const ret = wasm.trueToMean(true_anomaly_rad, eccentricity);
18840
+ if (ret[2]) {
18841
+ throw takeFromExternrefTable0(ret[1]);
18842
+ }
18843
+ return ret[0];
18844
+ }
18845
+
17395
18846
  /**
17396
18847
  * Provenance and coverage of the embedded UT1-UTC / delta-T (EOP) table.
17397
18848
  * @returns {Ut1Coverage}
@@ -17986,6 +19437,9 @@ const AppliedCorrectionsFinalization = (typeof FinalizationRegistry === 'undefin
17986
19437
  const AtmosphereDensityFinalization = (typeof FinalizationRegistry === 'undefined')
17987
19438
  ? { register: () => {}, unregister: () => {} }
17988
19439
  : new FinalizationRegistry(ptr => wasm.__wbg_atmospheredensity_free(ptr, 1));
19440
+ const BiasSetFinalization = (typeof FinalizationRegistry === 'undefined')
19441
+ ? { register: () => {}, unregister: () => {} }
19442
+ : new FinalizationRegistry(ptr => wasm.__wbg_biasset_free(ptr, 1));
17989
19443
  const BroadcastEphemerisFinalization = (typeof FinalizationRegistry === 'undefined')
17990
19444
  ? { register: () => {}, unregister: () => {} }
17991
19445
  : new FinalizationRegistry(ptr => wasm.__wbg_broadcastephemeris_free(ptr, 1));
@@ -18055,6 +19509,12 @@ const DopSeriesSampleFinalization = (typeof FinalizationRegistry === 'undefined'
18055
19509
  const DopplerShiftFinalization = (typeof FinalizationRegistry === 'undefined')
18056
19510
  ? { register: () => {}, unregister: () => {} }
18057
19511
  : new FinalizationRegistry(ptr => wasm.__wbg_dopplershift_free(ptr, 1));
19512
+ const DragForceFinalization = (typeof FinalizationRegistry === 'undefined')
19513
+ ? { register: () => {}, unregister: () => {} }
19514
+ : new FinalizationRegistry(ptr => wasm.__wbg_dragforce_free(ptr, 1));
19515
+ const DtedTerrainFinalization = (typeof FinalizationRegistry === 'undefined')
19516
+ ? { register: () => {}, unregister: () => {} }
19517
+ : new FinalizationRegistry(ptr => wasm.__wbg_dtedterrain_free(ptr, 1));
18058
19518
  const EncounterFrameFinalization = (typeof FinalizationRegistry === 'undefined')
18059
19519
  ? { register: () => {}, unregister: () => {} }
18060
19520
  : new FinalizationRegistry(ptr => wasm.__wbg_encounterframe_free(ptr, 1));
@@ -18295,6 +19755,9 @@ const SatellitePassFinalization = (typeof FinalizationRegistry === 'undefined')
18295
19755
  const SatelliteVectorFinalization = (typeof FinalizationRegistry === 'undefined')
18296
19756
  ? { register: () => {}, unregister: () => {} }
18297
19757
  : new FinalizationRegistry(ptr => wasm.__wbg_satellitevector_free(ptr, 1));
19758
+ const SbasCorrectionStoreFinalization = (typeof FinalizationRegistry === 'undefined')
19759
+ ? { register: () => {}, unregister: () => {} }
19760
+ : new FinalizationRegistry(ptr => wasm.__wbg_sbascorrectionstore_free(ptr, 1));
18298
19761
  const SignalPolicyFinalization = (typeof FinalizationRegistry === 'undefined')
18299
19762
  ? { register: () => {}, unregister: () => {} }
18300
19763
  : new FinalizationRegistry(ptr => wasm.__wbg_signalpolicy_free(ptr, 1));
@@ -18334,6 +19797,9 @@ const Sp3SelectionFinalization = (typeof FinalizationRegistry === 'undefined')
18334
19797
  const Sp3StateFinalization = (typeof FinalizationRegistry === 'undefined')
18335
19798
  ? { register: () => {}, unregister: () => {} }
18336
19799
  : new FinalizationRegistry(ptr => wasm.__wbg_sp3state_free(ptr, 1));
19800
+ const SpaceWeatherFinalization = (typeof FinalizationRegistry === 'undefined')
19801
+ ? { register: () => {}, unregister: () => {} }
19802
+ : new FinalizationRegistry(ptr => wasm.__wbg_spaceweather_free(ptr, 1));
18337
19803
  const SpaceWeatherDefaultsFinalization = (typeof FinalizationRegistry === 'undefined')
18338
19804
  ? { register: () => {}, unregister: () => {} }
18339
19805
  : new FinalizationRegistry(ptr => wasm.__wbg_spaceweatherdefaults_free(ptr, 1));
@@ -18352,6 +19818,9 @@ const SppBatchSolutionFinalization = (typeof FinalizationRegistry === 'undefined
18352
19818
  const SppSolutionFinalization = (typeof FinalizationRegistry === 'undefined')
18353
19819
  ? { register: () => {}, unregister: () => {} }
18354
19820
  : new FinalizationRegistry(ptr => wasm.__wbg_sppsolution_free(ptr, 1));
19821
+ const SsrCorrectionStoreFinalization = (typeof FinalizationRegistry === 'undefined')
19822
+ ? { register: () => {}, unregister: () => {} }
19823
+ : new FinalizationRegistry(ptr => wasm.__wbg_ssrcorrectionstore_free(ptr, 1));
18355
19824
  const SunMoonFinalization = (typeof FinalizationRegistry === 'undefined')
18356
19825
  ? { register: () => {}, unregister: () => {} }
18357
19826
  : new FinalizationRegistry(ptr => wasm.__wbg_sunmoon_free(ptr, 1));