kshana 0.9.0 → 0.9.2
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/README.md +57 -45
- package/kshana_bg.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="docs/assets/kshana-mark.svg" alt="Kshana mark — a precision reticle hung from the Devanagari shirorekha" width="
|
|
2
|
+
<img src="docs/assets/kshana-mark.svg" alt="Kshana mark — a precision reticle hung from the Devanagari shirorekha" width="96" height="96">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<h1 align="center">
|
|
6
|
-
<img src="docs/assets/kshana-banner.svg" alt="Kshana — the precise instant. Open, reproducible hybrid quantum/classical PNT performance simulation." width="760">
|
|
7
|
-
</h1>
|
|
5
|
+
<h1 align="center">Kshana</h1>
|
|
8
6
|
|
|
9
|
-
<p align="center"
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>क्षण</strong> — Sanskrit for <em>the precise instant</em>, the smallest measure of time.<br>
|
|
9
|
+
Open, reproducible hybrid quantum / classical PNT performance simulation.
|
|
10
|
+
</p>
|
|
10
11
|
|
|
11
12
|
<p align="center">
|
|
12
13
|
<a href="https://ashfordeou.github.io/kshana/"><img src="https://img.shields.io/badge/playground-try%20in%20browser-2dd4bf" alt="Live playground — run in your browser, no install"></a>
|
|
@@ -34,36 +35,14 @@ and every sensor parameter is traceable to a published source.
|
|
|
34
35
|
*Free and open source under Apache-2.0, professionally developed and maintained by
|
|
35
36
|
Ashforde OÜ — commercial support, integration, and proprietary extensions available.*
|
|
36
37
|
|
|
37
|
-
> **Status: v0.9.
|
|
38
|
-
>
|
|
39
|
-
>
|
|
40
|
-
>
|
|
41
|
-
>
|
|
42
|
-
>
|
|
43
|
-
>
|
|
44
|
-
>
|
|
45
|
-
> 2006-6753 vectors) — a single-axis (1-DOF) IMU error budget in the shipped
|
|
46
|
-
> inertial pack (velocity/angle random walk and bias-instability), Monte Carlo
|
|
47
|
-
> confidence bands, trade-study parameter sweeps, and a shareable HTML scorecard.
|
|
48
|
-
> As of v0.9.0 the library also carries a genuine **three-axis strapdown INS**
|
|
49
|
-
> (quaternion attitude, WGS-84 NED mechanization, coning/sculling, a five-term IMU
|
|
50
|
-
> error model), a **loosely-coupled GNSS/INS error-state EKF** with closed-loop
|
|
51
|
-
> feedback, **real snapshot and solution-separation (ARAIM-style) RAIM** with
|
|
52
|
-
> HPL/VPL and a runnable `integrity` scenario, and **RINEX-3 GPS ephemeris
|
|
53
|
-
> ingestion** (broadcast orbit + clock). All calibrated to published data and
|
|
54
|
-
> validated against the standard relations, with optional Python and WebAssembly
|
|
55
|
-
> bindings and a browser playground. Read [`docs/VALIDATION.md`](docs/VALIDATION.md)
|
|
56
|
-
> before citing any number — each noise term is labelled `validated` or `not modeled`,
|
|
57
|
-
> and optical-clock figures are *space goals on ground hardware* (no strontium optical
|
|
58
|
-
> clock has flown). What it is still **not**: the shipped `inertial` scenario pack
|
|
59
|
-
> remains the 1-DOF budget (the three-axis navigator is library-level, not yet wired
|
|
60
|
-
> into a pack); the GNSS/INS filter is *loosely* coupled only (tight/pseudorange
|
|
61
|
-
> coupling is a documented stub); the RAIM is real but **not** formally certified to
|
|
62
|
-
> DO-229/DO-178C aviation standards; and the quantum models are phenomenological, not
|
|
63
|
-
> a first-principles quantum simulator. The full
|
|
64
|
-
> honest scope map is in [`docs/CAPABILITY.md`](docs/CAPABILITY.md); see also
|
|
65
|
-
> [`docs/INTEGRITY.md`](docs/INTEGRITY.md) and the claims table in
|
|
66
|
-
> [`docs/VALIDATION.md`](docs/VALIDATION.md).
|
|
38
|
+
> **Status: v0.9.2 · a simulation substrate, not yet a product.** A validated,
|
|
39
|
+
> fully reproducible engine spanning the PNT stack — orbit geometry, inertial
|
|
40
|
+
> navigation, GNSS/INS fusion, integrity, clocks, and timing. Honest by design:
|
|
41
|
+
> every figure of merit is labelled *validated* or *not-modeled*, and optical-clock
|
|
42
|
+
> figures are space goals on ground hardware (no strontium optical clock has flown).
|
|
43
|
+
> See **[Capabilities](#capabilities)** for what it does, **[What it is / is not](#what-it-is--is-not)**
|
|
44
|
+
> for scope, and [`docs/CAPABILITY.md`](docs/CAPABILITY.md) / [`docs/VALIDATION.md`](docs/VALIDATION.md)
|
|
45
|
+
> for per-capability maturity and the claims table.
|
|
67
46
|
|
|
68
47
|
> **Try it in your browser:** the [playground](web/) runs the engine client-side as
|
|
69
48
|
> WebAssembly — pick a scenario, edit the parameters, and see the result, with nothing
|
|
@@ -82,12 +61,12 @@ Ashforde OÜ — commercial support, integration, and proprietary extensions ava
|
|
|
82
61
|
|
|
83
62
|
## Contents
|
|
84
63
|
|
|
85
|
-
- [Why](#why) · [What it is / is not](#what-it-is--is-not) · [Results](#results)
|
|
64
|
+
- [Why](#why) · [What it is / is not](#what-it-is--is-not) · [Capabilities](#capabilities) · [Results](#results)
|
|
86
65
|
- [Install & build](#install--build) · [Usage](#usage) ([Python](#python), [WebAssembly](#webassembly))
|
|
87
66
|
- [Scenario format](#scenario-format) · [Output](#output) · [Architecture](#architecture)
|
|
88
67
|
- [Repository layout](#repository-layout) · [Validation & honesty](#validation-reproducibility--honesty)
|
|
89
68
|
- [Documentation](#documentation) · [FAQ](#faq) · [Troubleshooting](#troubleshooting)
|
|
90
|
-
- [Roadmap](#roadmap) · [Contributing](#contributing) · [Citing](#citing) · [License](#license)
|
|
69
|
+
- [Roadmap](#roadmap) · [Contributing](#contributing) · [Citing](#citing) · [Versioning & releases](#versioning--releases) · [License](#license)
|
|
91
70
|
- [Support & professional services](#support--professional-services) · [References](#key-references)
|
|
92
71
|
|
|
93
72
|
## Why
|
|
@@ -105,13 +84,33 @@ noise realizations.
|
|
|
105
84
|
|
|
106
85
|
## What it is / is not
|
|
107
86
|
|
|
108
|
-
**It is:** a deterministic engine
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
87
|
+
**It is:** a deterministic, dependency-light engine spanning the PNT stack — orbit
|
|
88
|
+
geometry, inertial navigation, GNSS/INS fusion, integrity, clocks, and timing. It
|
|
89
|
+
runs a scenario (often a GNSS outage), evolves calibrated sensor error models
|
|
90
|
+
through the appropriate estimator, and scores the result against the operational
|
|
91
|
+
figures of merit — emitting a reproducible JSON result and an SVG chart, from a
|
|
92
|
+
Rust library, CLI, Python extension, or in-browser WebAssembly module.
|
|
93
|
+
|
|
94
|
+
**It is not:** flight hardware, a quantum-payload design, a full GNSS signal
|
|
95
|
+
receiver, or a certified avionics product. Quantum-hardware fidelity comes from
|
|
96
|
+
published error models, not from this tool. The granular maturity of each
|
|
97
|
+
capability is documented in [`docs/CAPABILITY.md`](docs/CAPABILITY.md).
|
|
98
|
+
|
|
99
|
+
## Capabilities
|
|
100
|
+
|
|
101
|
+
| Domain | Capability |
|
|
102
|
+
|--------|------------|
|
|
103
|
+
| **Orbit & geometry** | SGP4/SDP4 propagation (validated to 4.12 mm against all 666 AIAA 2006-6753 vectors), real-TLE or synthetic Walker constellations, multi-constellation visibility, dilution of precision, and GNSS availability. |
|
|
104
|
+
| **Inertial** | Three-axis strapdown INS — quaternion attitude, WGS-84 NED mechanization, coning/sculling compensation, and a deterministic IMU error model (scale-factor, misalignment, g-sensitivity, quantization, drift). |
|
|
105
|
+
| **Fusion** | Loosely-coupled GNSS/INS error-state EKF (15-state) with closed-loop feedback that coasts through GNSS outages on a calibrated inertial solution. |
|
|
106
|
+
| **Integrity** | Snapshot and solution-separation (ARAIM-style) RAIM with horizontal/vertical protection levels (HPL/VPL), fault detection and identification, and Stanford integrity diagrams. |
|
|
107
|
+
| **Clock & timing** | Two-state Kalman holdover, Allan-family stability (ADEV/MDEV/TDEV/HDEV) with confidence intervals, and optical/RF two-way time transfer. |
|
|
108
|
+
| **Interoperability** | RINEX-3 GPS broadcast-ephemeris ingestion with IS-GPS-200 satellite position and clock evaluation. |
|
|
109
|
+
| **Resilience** | Clock-aided spoof-detectability analysis against a configurable time-spoof attack. |
|
|
110
|
+
|
|
111
|
+
Each capability is reachable as a Rust API, a runnable scenario `kind`, or both.
|
|
112
|
+
Maturity per capability — *validated*, *runnable*, or *library* — is tracked in
|
|
113
|
+
[`docs/CAPABILITY.md`](docs/CAPABILITY.md).
|
|
115
114
|
|
|
116
115
|
## Results
|
|
117
116
|
|
|
@@ -564,7 +563,20 @@ entry for every user-visible change. Participation is governed by our
|
|
|
564
563
|
|
|
565
564
|
If you use Kshana in academic or technical work, please cite it. Machine-readable
|
|
566
565
|
metadata is in [`CITATION.cff`](CITATION.cff) (GitHub renders a "Cite this repository"
|
|
567
|
-
button from it); cite the version you used (e.g. `v0.
|
|
566
|
+
button from it); cite the version you used (e.g. `v0.9.2`) together with the
|
|
567
|
+
scenario and seed for full reproducibility. An archival DOI (Zenodo) is planned.
|
|
568
|
+
|
|
569
|
+
> Baweja, C. (2026). *Kshana — hybrid quantum/classical PNT performance simulator*. Ashforde OÜ. https://github.com/AshfordeOU/kshana
|
|
570
|
+
|
|
571
|
+
## Versioning & releases
|
|
572
|
+
|
|
573
|
+
Kshana follows [Semantic Versioning](https://semver.org). While pre-1.0 the public
|
|
574
|
+
scenario/result schema may still change; breaking changes are called out explicitly
|
|
575
|
+
in the [`CHANGELOG.md`](CHANGELOG.md). Tagged releases are published to
|
|
576
|
+
[crates.io](https://crates.io/crates/kshana), [PyPI](https://pypi.org/project/kshana/),
|
|
577
|
+
and [npm](https://www.npmjs.com/package/kshana), and listed under
|
|
578
|
+
[GitHub Releases](https://github.com/AshfordeOU/kshana/releases). Every result is
|
|
579
|
+
reproducible from `scenario + seed + engine version`.
|
|
568
580
|
|
|
569
581
|
## License
|
|
570
582
|
|
package/kshana_bg.wasm
CHANGED
|
Binary file
|