@neilberkman/sidereon 0.33.1 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/README.md +18 -0
- package/THIRD-PARTY-NOTICES.md +2 -2
- package/package.json +4 -4
- package/pkg/sidereon.d.ts +1187 -1134
- package/pkg/sidereon.js +101 -0
- package/pkg/sidereon_bg.wasm +0 -0
- package/pkg/sidereon_bg.wasm.d.ts +1162 -1158
- package/pkg-node/sidereon.d.ts +49 -0
- package/pkg-node/sidereon.js +105 -0
- package/pkg-node/sidereon_bg.wasm +0 -0
- package/pkg-node/sidereon_bg.wasm.d.ts +1162 -1158
- /package/third_party_source/{sidereon-core-0.33.1 → sidereon-core-0.35.0}/tides/mod.rs +0 -0
- /package/third_party_source/{sidereon-core-0.33.1 → sidereon-core-0.35.0}/tides/ocean.rs +0 -0
- /package/third_party_source/{sidereon-core-0.33.1 → sidereon-core-0.35.0}/tides/pole.rs +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,45 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.35.0 - 2026-07-24
|
|
6
|
+
|
|
7
|
+
- RINEX observation QC now treats a source `INTERVAL` of zero as
|
|
8
|
+
standards-compatible unavailable metadata. `lintRinexObs` reports the
|
|
9
|
+
informational `OBS-H19`; default `observationQc` infers cadence from regular
|
|
10
|
+
epochs when possible and otherwise reports an unresolved interval. Explicit
|
|
11
|
+
zero, negative, or non-finite caller overrides remain errors.
|
|
12
|
+
- Negative parsed source cadence metadata is reported separately as `OBS-H20`
|
|
13
|
+
and is likewise excluded from QC calculations. Non-finite RINEX text remains
|
|
14
|
+
a parse error; programmatically constructed non-finite headers receive
|
|
15
|
+
`OBS-H20` in the core.
|
|
16
|
+
- When interval repair is requested, `repairRinexObs` replaces an unavailable
|
|
17
|
+
source `INTERVAL` with an inferred cadence, or removes the record when
|
|
18
|
+
cadence cannot be resolved.
|
|
19
|
+
- Adds `ObservationQcReport.lintFindings`, so QC consumers can inspect the
|
|
20
|
+
compact core lint summary without making a separate lint call.
|
|
21
|
+
- Builds against `sidereon` and `sidereon-core` 0.35.0. Positioning and orbit
|
|
22
|
+
propagation numerical kernels are unchanged.
|
|
23
|
+
|
|
24
|
+
## 0.34.0 - 2026-07-21
|
|
25
|
+
|
|
26
|
+
- Adds `supportedSamples`, returning the core's complete date- and issue-aware
|
|
27
|
+
cadence set as a JavaScript array. `productIdentity` enforces that same set,
|
|
28
|
+
including the GFZ ultra-rapid overlap and ESA ultra-rapid issue transition.
|
|
29
|
+
- Adds the `Sp3ContentStartConvention` enum,
|
|
30
|
+
`sp3ContentStartConvention`, and `sp3ContentStartOffsetSeconds` with strict
|
|
31
|
+
issue validation. Historical GFZ ultra-rapid identity-derived exact requests
|
|
32
|
+
now inherit the cataloged one-day content-start offset, including across a
|
|
33
|
+
GPS week boundary.
|
|
34
|
+
- Exact SP3 parsing now inherits the core's complete-record terminal validation:
|
|
35
|
+
standards-compatible ASCII-space padding and LF/CRLF endings are accepted,
|
|
36
|
+
while malformed, missing, premature, or followed-by-data `EOF` records still
|
|
37
|
+
fail closed. The shared cross-interface corpus exercises all accepted and
|
|
38
|
+
rejected forms through `parseExactSp3`; numerical behavior is unchanged.
|
|
39
|
+
- Caller-built exact identities now reject a span that is syntactically valid
|
|
40
|
+
but not cataloged for that product family. This is an integrity-policy change
|
|
41
|
+
only; JavaScript/TypeScript APIs and numerical calculations are unchanged.
|
|
42
|
+
- Builds against `sidereon` and `sidereon-core` 0.34.0.
|
|
43
|
+
|
|
5
44
|
## 0.33.1 - 2026-07-20
|
|
6
45
|
|
|
7
46
|
- Node ESM and CommonJS now both select the synchronous Node build; browser and
|
package/README.md
CHANGED
|
@@ -125,7 +125,11 @@ import {
|
|
|
125
125
|
parseExactSp3,
|
|
126
126
|
productIdentity,
|
|
127
127
|
productSolutionClass,
|
|
128
|
+
Sp3ContentStartConvention,
|
|
129
|
+
sp3ContentStartConvention,
|
|
130
|
+
sp3ContentStartOffsetSeconds,
|
|
128
131
|
sp3MergeInputIdentity,
|
|
132
|
+
supportedSamples,
|
|
129
133
|
} from "@neilberkman/sidereon";
|
|
130
134
|
|
|
131
135
|
const identity = productIdentity("cod", "sp3", 2026, 7, 12);
|
|
@@ -164,6 +168,11 @@ console.log(productSolutionClass("igs", "sp3")); // final
|
|
|
164
168
|
console.log(productSolutionClass("igs", "nav")); // broadcast
|
|
165
169
|
console.log(defaultSampleForDate("gfz", "sp3", 2021, 5, 17)); // 15M
|
|
166
170
|
console.log(defaultSampleForDate("gfz_ult", "sp3", 2021, 5, 16)); // 05M
|
|
171
|
+
console.log(supportedSamples("gfz_ult", "sp3", 2021, 5, 15, "0000"));
|
|
172
|
+
// ["15M", "05M"]; the 2100 issue supports only "15M"
|
|
173
|
+
const start = sp3ContentStartConvention("gfz_ult", 2022, 9, 7, "0300");
|
|
174
|
+
console.log(start === Sp3ContentStartConvention.FilenameEpochMinusOneDay); // true
|
|
175
|
+
console.log(sp3ContentStartOffsetSeconds(start)); // -86400n
|
|
167
176
|
|
|
168
177
|
// Exact acquisition accepts either the official half-open or inclusive epoch
|
|
169
178
|
// grid, but rejects malformed, irregular, wrong-cadence, or wrong-span bytes.
|
|
@@ -173,6 +182,15 @@ console.log(validated.coverage); // ExactSp3Coverage.HalfOpen or .Inclusive
|
|
|
173
182
|
const sp3 = validated.product;
|
|
174
183
|
```
|
|
175
184
|
|
|
185
|
+
`supportedSamples` reports the complete officially evidenced cadence set for
|
|
186
|
+
the selected product date and issue; `productIdentity` rejects any cadence not
|
|
187
|
+
in that set. The content-start query is strict catalog metadata: an ultra-rapid
|
|
188
|
+
issue is required and validated, while product lines without issue times reject
|
|
189
|
+
one.
|
|
190
|
+
Its offset is a JavaScript `bigint`, matching this interface's other exact
|
|
191
|
+
`i64` values. `ExactSp3Request.fromIdentity` applies the same convention
|
|
192
|
+
internally and does not expose an override.
|
|
193
|
+
|
|
176
194
|
`artifactRecord` contains the requested and parsed/resolved product identities,
|
|
177
195
|
explicit distributor, official filename, decompressed and archive SHA-256/length
|
|
178
196
|
pairs, and archive compression. Contributor enumeration does not affect mean or
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -76,9 +76,9 @@ source documents how it is based on and differs from the original. The complete
|
|
|
76
76
|
official IERS notice is reproduced in
|
|
77
77
|
`licenses/IERS-Conventions-Software-License.txt`.
|
|
78
78
|
|
|
79
|
-
The exact public non-test tide sources distributed in `sidereon-core` 0.
|
|
79
|
+
The exact public non-test tide sources distributed in `sidereon-core` 0.35.0
|
|
80
80
|
are included under
|
|
81
|
-
`third_party_source/sidereon-core-0.
|
|
81
|
+
`third_party_source/sidereon-core-0.35.0/tides/`. These copies provide the
|
|
82
82
|
source for every tide routine in the compiled WebAssembly artifact; they are
|
|
83
83
|
not represented as original IERS software or as endorsed by the IERS
|
|
84
84
|
Conventions Center.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neilberkman/sidereon",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"description": "WebAssembly / JavaScript interface over the sidereon GNSS + astrodynamics engine: SP3 loading and multi-product merge, SPP / RTK (float + fixed) / PPP (float + fixed) positioning, IONEX slant delay, SGP4 and numerical orbit propagation, RINEX observation/navigation/clock parsing, CRINEX (Hatanaka) decoding, observable-domain math (carrier combinations, cycle slips, Hatch smoothing, weighting, velocity, GPS C/A signal), and the astro domain (scale-tagged time, frame transforms, Sun/Moon ephemerides, eclipse / body angles, DOP, passes / visibility, conjunction + collision probability, CDM / OMM / ANTEX parsing, RF link budget)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
"licenses/IERS-Conventions-Software-License.txt",
|
|
47
47
|
"licenses/SciPy-BSD-3-Clause.txt",
|
|
48
48
|
"licenses/libloading-ISC.txt",
|
|
49
|
-
"third_party_source/sidereon-core-0.
|
|
50
|
-
"third_party_source/sidereon-core-0.
|
|
51
|
-
"third_party_source/sidereon-core-0.
|
|
49
|
+
"third_party_source/sidereon-core-0.35.0/tides/mod.rs",
|
|
50
|
+
"third_party_source/sidereon-core-0.35.0/tides/ocean.rs",
|
|
51
|
+
"third_party_source/sidereon-core-0.35.0/tides/pole.rs",
|
|
52
52
|
"pkg/sidereon.js",
|
|
53
53
|
"pkg/sidereon.d.ts",
|
|
54
54
|
"pkg/sidereon_bg.wasm",
|