@neilberkman/sidereon 1.1.0 → 1.2.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 +44 -0
- package/README.md +44 -0
- package/THIRD-PARTY-NOTICES.md +2 -2
- package/package.json +1 -1
- package/pkg/sidereon.d.ts +1801 -1595
- package/pkg/sidereon.js +518 -0
- package/pkg/sidereon_bg.wasm +0 -0
- package/pkg/sidereon_bg.wasm.d.ts +1668 -1638
- package/pkg-node/sidereon.d.ts +176 -0
- package/pkg-node/sidereon.js +535 -0
- package/pkg-node/sidereon_bg.wasm +0 -0
- package/pkg-node/sidereon_bg.wasm.d.ts +1668 -1638
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.2.0 - 2026-08-28
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Calendar second-of-day and fractional day-of-year helpers, the five
|
|
8
|
+
covariance-6 conversion/interpolation/ECI-RTN helpers, lenient NAV parsing
|
|
9
|
+
with skipped-block diagnostics and arbitrary record-list encoding, RINEX
|
|
10
|
+
observation-code and version-aware frequency/wavelength lookups, and the
|
|
11
|
+
SBAS EMS and RTKLIB text-log parsers.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Engine update: sidereon 1.2.0 / sidereon-core 1.2.0, which corrects lenient
|
|
16
|
+
RINEX 4 CNAV decoding and RTKLIB SBAS wire-form preservation.
|
|
17
|
+
|
|
18
|
+
## Unreleased
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- Lenient RINEX NAV parsing with core skipped-block diagnostics and standalone
|
|
23
|
+
encoding for arbitrary caller-supplied record lists.
|
|
24
|
+
- Direct, RINEX-version-aware observation-code frequency and wavelength
|
|
25
|
+
mappings.
|
|
26
|
+
- EMS and RTKLIB SBAS text-log parsers returning timestamped raw message
|
|
27
|
+
blocks with structured decode access.
|
|
28
|
+
- Added core-backed `secondOfDay`, `dayOfYear`, and `dataDayOfYear` calendar
|
|
29
|
+
helpers.
|
|
30
|
+
- Added core-backed six-by-six covariance unit conversion, PSD interpolation,
|
|
31
|
+
and ECI/RTN transform helpers using flat row-major arrays.
|
|
32
|
+
|
|
33
|
+
## 1.1.1 - 2026-08-26
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- Engine update: sidereon 1.1.1 / sidereon-core 1.1.1, the coordination
|
|
38
|
+
release restoring the shared release number across the language interfaces.
|
|
39
|
+
No numerical, algorithmic, or API changes.
|
|
40
|
+
|
|
41
|
+
### Fixed
|
|
42
|
+
|
|
43
|
+
- `THIRD-PARTY-NOTICES.md` names the vendored tide-source snapshot
|
|
44
|
+
consistently (sidereon-core 0.36.3, byte-identical to the 0.35.0 sources).
|
|
45
|
+
No API changes.
|
|
46
|
+
|
|
3
47
|
## 1.1.0 - 2026-08-24
|
|
4
48
|
|
|
5
49
|
### Added
|
package/README.md
CHANGED
|
@@ -334,6 +334,31 @@ Invalid coordinates throw a `RangeError` whose `kind` is
|
|
|
334
334
|
is `"latitude"` or `"longitude"`, and `detail` carries the complete typed
|
|
335
335
|
record.
|
|
336
336
|
|
|
337
|
+
## RINEX NAV, observation codes, and SBAS text logs
|
|
338
|
+
|
|
339
|
+
`parseRinexNavLenient(bytes)` delegates to the core lenient NAV parser. It
|
|
340
|
+
returns a `RinexNavParse` with supported `records` in file order and `skipped`
|
|
341
|
+
diagnostics for malformed supported blocks. `recordCount` and `skippedCount`
|
|
342
|
+
are available as convenience getters. Header and UTF-8 failures throw; a
|
|
343
|
+
skipped block exposes its `satellite` and core `message`.
|
|
344
|
+
|
|
345
|
+
`encodeRinexNav(records)` accepts any caller-supplied JavaScript array of
|
|
346
|
+
`BroadcastRecordJs` objects and delegates the deterministic RINEX NAV encoding
|
|
347
|
+
to the core engine. The record wrapper list is consumed at the WASM boundary.
|
|
348
|
+
|
|
349
|
+
`rinexObservationFrequencyHz(system, code, rinexVersion, glonassChannel)` and
|
|
350
|
+
`rinexObservationWavelengthM(...)` use the core's direct full observation-code
|
|
351
|
+
policy, including RINEX-version-dependent mappings and the optional GLONASS
|
|
352
|
+
FDMA channel. Unknown combinations return `undefined`; the narrower
|
|
353
|
+
`rinexBandFrequencyHz` and `rinexBandWavelengthM` helpers remain available for
|
|
354
|
+
canonical band lookups.
|
|
355
|
+
|
|
356
|
+
`parseSbasEmsLines(text)` and `parseSbasRtklibLines(text)` return full
|
|
357
|
+
timestamped `SbasLogBlock` objects from the core engine. Each block exposes
|
|
358
|
+
`satellite`/`satelliteId`, GPS `week` and `towS`, the selected wire `form`, raw
|
|
359
|
+
`bytes`, and `decode()` for the structured SBAS message. Malformed recognized
|
|
360
|
+
blocks throw an engine `Error`; unrelated lines are ignored.
|
|
361
|
+
|
|
337
362
|
## Capabilities
|
|
338
363
|
|
|
339
364
|
The wasm surface mirrors the full breadth of the engine:
|
|
@@ -427,6 +452,25 @@ Full signatures live in the bundled TypeScript declarations (`sidereon.d.ts`),
|
|
|
427
452
|
including the plain-object request types for ARAIM, RTK/PPP, fusion,
|
|
428
453
|
signal-analysis, and terrain protocols.
|
|
429
454
|
|
|
455
|
+
### Calendar and six-by-six covariance helpers
|
|
456
|
+
|
|
457
|
+
`secondOfDay(hour, minute, second)` returns the civil seconds since midnight.
|
|
458
|
+
`dayOfYear(year, month, day, hour, minute, second)` returns the fractional
|
|
459
|
+
civil day-of-year. These two civil helpers forward their raw fields directly to
|
|
460
|
+
the core civil implementations without `ProductDate` validation. In contrast,
|
|
461
|
+
`dataDayOfYear(year, month, day)` constructs a validated `ProductDate` and
|
|
462
|
+
returns its integer day-of-year; invalid product dates throw `RangeError` there.
|
|
463
|
+
|
|
464
|
+
The six-by-six covariance helpers take and return flat row-major
|
|
465
|
+
`Float64Array`s of length 36, with state order `[rX, rY, rZ, vX, vY, vZ]`:
|
|
466
|
+
`covariance6KmToM`, `covariance6MToKm`, and `interpolateCovariance6(a, b, u)`.
|
|
467
|
+
`eciToRtnCovariance6(covariance, positionKm, velocityKmS)` and
|
|
468
|
+
`rtnToEciCovariance6(covariance, positionKm, velocityKmS)` use length-3 flat
|
|
469
|
+
position and velocity arrays in km and km/s. Covariance validation,
|
|
470
|
+
PSD-preserving interpolation, and RTN frame construction are supplied by
|
|
471
|
+
`sidereon-core`; malformed shapes throw `TypeError`, invalid numeric inputs
|
|
472
|
+
throw `RangeError`, and undefined RTN frames throw an engine `Error`.
|
|
473
|
+
|
|
430
474
|
A few conventions to know: positions and state arrays cross as
|
|
431
475
|
`Float64Array` (multi-epoch arrays are flat row-major, `3 * epochCount`); SGP4
|
|
432
476
|
epoch grids are `BigInt64Array` of unix microseconds; SP3 query epochs are plain
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -76,8 +76,8 @@ 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.
|
|
80
|
-
are included under
|
|
79
|
+
The exact public non-test tide sources distributed in `sidereon-core` 0.36.3
|
|
80
|
+
(byte-identical to the 0.35.0 sources) are included under
|
|
81
81
|
`third_party_source/sidereon-core-0.36.3/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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neilberkman/sidereon",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.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",
|