@neilberkman/sidereon 0.30.0 → 0.32.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 +31 -0
- package/README.md +22 -0
- package/package.json +1 -1
- package/pkg/sidereon.d.ts +1835 -1723
- package/pkg/sidereon.js +136 -0
- package/pkg/sidereon_bg.wasm +0 -0
- package/pkg/sidereon_bg.wasm.d.ts +1728 -1720
- package/pkg-node/sidereon.d.ts +104 -0
- package/pkg-node/sidereon.js +140 -0
- package/pkg-node/sidereon_bg.wasm +0 -0
- package/pkg-node/sidereon_bg.wasm.d.ts +1728 -1720
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## 0.32.0 - 2026-07-18
|
|
6
|
+
|
|
7
|
+
- Adds `parseNavcenAt` and `mergeNavcenAt` for deterministic NAVCEN usability
|
|
8
|
+
decisions at explicit UTC Unix microseconds supplied as JavaScript `bigint`.
|
|
9
|
+
Assessments preserve NANU type,
|
|
10
|
+
subject, raw Outage Start text, evaluation time, and parsed/unparseable/not-
|
|
11
|
+
applicable interval provenance.
|
|
12
|
+
- Keeps `parseNavcen` and `mergeNavcen` unchanged for compatibility. The new
|
|
13
|
+
path applies active forecasts only on their validated half-open intervals and
|
|
14
|
+
additionally recognizes active `UNUSUFN` notices as immediately unusable.
|
|
15
|
+
- Builds against `sidereon` and `sidereon-core` 0.32.0.
|
|
16
|
+
|
|
17
|
+
## 0.31.2 - 2026-07-16
|
|
18
|
+
|
|
19
|
+
- Returns canonical contributors and ordered precedence contributors alongside
|
|
20
|
+
the merged-SP3 stable ID.
|
|
21
|
+
- Rejects artifact byte lengths that are not positive exact JavaScript safe
|
|
22
|
+
integers and enforces whole-second target epoch intervals.
|
|
23
|
+
- Adds the shared literal provenance fixture and builds against `sidereon` and
|
|
24
|
+
`sidereon-core` 0.31.2.
|
|
25
|
+
|
|
26
|
+
## 0.31.0 - 2026-07-16
|
|
27
|
+
|
|
28
|
+
- Adds `sp3MergeInputIdentity`, which validates complete exact SP3 artifact
|
|
29
|
+
records plus the full merge policy and returns the shared versioned stable
|
|
30
|
+
identity. Incomplete, malformed, mismatched, duplicate, non-SP3, and unknown
|
|
31
|
+
fields fail closed.
|
|
32
|
+
- Builds against `sidereon` and `sidereon-core` 0.31.0.
|
|
33
|
+
|
|
3
34
|
## 0.30.0 - 2026-07-16
|
|
4
35
|
|
|
5
36
|
- Exposes analysis center, parsed format version, and the canonical all-field
|
package/README.md
CHANGED
|
@@ -112,12 +112,23 @@ import {
|
|
|
112
112
|
distributionLocation,
|
|
113
113
|
GnssExactProductSet,
|
|
114
114
|
productIdentity,
|
|
115
|
+
sp3MergeInputIdentity,
|
|
115
116
|
} from "@neilberkman/sidereon";
|
|
116
117
|
|
|
117
118
|
const identity = productIdentity("cod", "sp3", 2026, 7, 12);
|
|
118
119
|
console.log(identity.officialFilename);
|
|
119
120
|
// COD0MGXFIN_20261930000_01D_05M_ORB.SP3
|
|
120
121
|
|
|
122
|
+
// Once every input has been acquired and validated, bind its complete exact
|
|
123
|
+
// artifact record and the full merge policy to one canonical stable ID.
|
|
124
|
+
const mergeInput = sp3MergeInputIdentity([artifactRecord], {
|
|
125
|
+
combine: "mean",
|
|
126
|
+
systems: ["G", "E"],
|
|
127
|
+
});
|
|
128
|
+
console.log(mergeInput.schemaVersion, mergeInput.stableId);
|
|
129
|
+
console.log(mergeInput.contributors); // distributor-independent canonical order
|
|
130
|
+
// precedenceContributors is defined only when combine is "precedence".
|
|
131
|
+
|
|
121
132
|
const cddis = distributionLocation(
|
|
122
133
|
"cod",
|
|
123
134
|
"sp3",
|
|
@@ -137,6 +148,17 @@ exactSet.addAvailable(identity); // add only after content validation
|
|
|
137
148
|
exactSet.validate();
|
|
138
149
|
```
|
|
139
150
|
|
|
151
|
+
`artifactRecord` contains the requested and parsed/resolved product identities,
|
|
152
|
+
explicit distributor, official filename, decompressed and archive SHA-256/length
|
|
153
|
+
pairs, and archive compression. Contributor enumeration does not affect mean or
|
|
154
|
+
median IDs. Precedence IDs bind the original order because it determines source
|
|
155
|
+
priority. Object-property ordering does not affect any ID; changing an artifact
|
|
156
|
+
or effective merge control does. Incomplete, mismatched, duplicate, non-SP3,
|
|
157
|
+
and unknown fields are rejected. Byte lengths must be positive integers no
|
|
158
|
+
greater than `Number.MAX_SAFE_INTEGER`. Retrieval timestamps, URLs, HTTP metadata,
|
|
159
|
+
credentials, cache paths, and retry history are intentionally not accepted as
|
|
160
|
+
canonical inputs.
|
|
161
|
+
|
|
140
162
|
`productIdentity` returns publisher, solution class, campaign, date, issue,
|
|
141
163
|
coverage span, cadence, official filename, format, and a validated cache key.
|
|
142
164
|
`distributionLocation` accepts `direct`, `nasa_cddis`, `local_file`, or
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neilberkman/sidereon",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.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",
|