Commit Graph

26 Commits

Author SHA1 Message Date
ApsisRS contributors 182371e3eb docs: bilingual module docs for the foundation layer 2026-10-02 01:45:27 +08:00
ApsisRS contributors ff329e5a8d docs: bilingual comments for the CI workflow, manifests and scripts
Extends the checker to the module level `//!` docs, the tests, the
examples, and the non-Rust prose comments in the workflow, the manifests
and the shell and Python scripts.
2026-10-02 01:40:39 +08:00
ApsisRS contributors 9cb9cb17e0 docs: register the two scale benchmarks and correct the stale note
bench_scale and bench_parallel were runnable but documented nowhere, so the
directory listing did not say they existed. The file header of
bench_scale also still claimed the harness warms up, which it stopped
doing when the cold cost was given its own column.
2026-09-30 18:23:37 +08:00
ApsisRS contributors 57ce2edc3b bench: add a parallel scale benchmark
Splits the three heavy paths across scoped threads and reports the
speedup and the efficiency against the thread count, with the serial time
taken as the fastest of several runs so a scheduling hiccup cannot inflate
the reference every number is divided by.

Constellation propagation and access search are embarrassingly parallel and
scale as expected until the thread count passes eight, where the machine
stops gaining. Topology construction does not scale at all, and the split
line shows why: the geometric visibility test is two milliseconds while
folding the visible pairs into the graph is four hundred, because each
insertion scans the edges already stored.
2026-09-30 17:53:48 +08:00
ApsisRS contributors 7995423fa8 bench: drop the warm up and widen the constellation sweep
The warm up hid the first call's allocation and cache cost behind a
discarded run, so the reported figure was one the caller never waits for.
Report the first call separately as the cold cost and the rest as the
steady state, and let the difference speak for itself.

The constellation path now covers a full day at a sixty second step and
sweeps from 24 to 2016 satellites, propagating each satellite at its own
orbital elements so the deep space branch is reached where the period is
long.
2026-09-30 17:36:08 +08:00
ApsisRS contributors f6ac638312 workspace: add the scale benchmark and state the expect convention
bench_scale sweeps the input size over four paths and reports time per
unit, so growth is visible even when absolute times move with the machine.
It shows SGP4 propagation and access search are flat per satellite, while
topology construction is quadratic and planning is quadratic in the number
of tasks.

The README said library code never uses expect, but twelve call sites do,
each guarded by a check on the line above or by construction. Allow that
case explicitly and record each site with its guard in the design notes.
2026-09-30 17:25:59 +08:00
ApsisRS contributors cb0085c99f validation: add cross checks for the two-body model and the element parser
Both crates were verified only against themselves. dump_kepler writes the
element to state conversions and a state back to element round trip, which
check_kepler recomputes from the perifocal formulae, the rotation and the
vis-viva equation. dump_tle writes the parsed fields of eight element sets,
which check_tle reparses with a column indexed reader and a
reimplementation of the modulo ten checksum.
2026-09-30 17:18:45 +08:00
ApsisRS contributors 71b006bcb3 apsis-rs: reuse the shared Earth radius in the network examples
Both network examples repeated the WGS 84 equatorial radius that
apsis-core already exports, so a change to the ellipsoid would not reach
them. Use the constant.
2026-09-26 23:43:51 +08:00
ApsisRS contributors c875aeefa6 validation: add the coverage geometry cross-check
The network layer was the only layer without a Python cross-check, and
validation/python/constellation/ was an empty placeholder that the README
described as existing. Add the dump example and the reference script, which
recomputes the geometry from the spherical triangle relations rather than
from the Rust code, and remove the placeholder.
2026-09-26 23:26:13 +08:00
ApsisRS contributors 8b53cb1d1b ci: run the integration checks and add a dependency free benchmark
The cross-layer integration checks were examples containing assertions
that cargo test never ran, so a break in one layer's assumptions about
another could pass CI. Run them explicitly.

The benches/ and tests/ directories were empty placeholders that a virtual
workspace does not compile, and benches/criterion named a third party crate
this workspace forbids. Remove both and add a real zero dependency
benchmark as a facade example.
2026-09-26 23:22:34 +08:00
ApsisRS contributors 48300342ab apsis-rs: fix the network example altitude check 2026-09-26 22:57:03 +08:00
ApsisRS contributors a09dd802e0 sim: add simulation facade and integration example 2026-09-26 22:52:51 +08:00
ApsisRS contributors 6e1deec750 ops: add precedence constraints and an improvement pass 2026-09-26 22:21:20 +08:00
ApsisRS contributors 083921fae9 apsis-rs: add end to end operations integration example 2026-09-26 17:08:06 +08:00
ApsisRS contributors cc5d0dbd19 physics: add the TEME to Earth-fixed transformation 2026-09-26 16:54:09 +08:00
ApsisRS contributors 5ef517f7c9 physics: add IAU 2000A nutation and IAU 2006 precession 2026-09-26 16:48:57 +08:00
ApsisRS contributors 574971076e apsis-rs: add end to end network integration example 2026-09-26 16:09:27 +08:00
ApsisRS contributors 990f1d47d0 rf: add the exact P.676 slant path with the P.835 atmosphere 2026-09-26 15:43:12 +08:00
ApsisRS contributors b298a00651 rf: add the ITU-R P.839-4 rain height model 2026-09-26 15:34:34 +08:00
ApsisRS contributors 37d8d977d4 rf: add the ITU-R S.465 reference antenna pattern 2026-09-26 15:27:58 +08:00
ApsisRS contributors 1d8ff398bb rf: correct the P.618 elevation units and the pattern citation 2026-09-26 15:18:10 +08:00
ApsisRS contributors d5ba27e784 rf: replace gaseous and rain models with ITU-R P.676-12 and P.838-3 2026-09-26 15:13:48 +08:00
ApsisRS contributors fb1dd47a9f rf: add link budget cross-check example and script 2026-09-26 14:46:36 +08:00
ApsisRS contributors b18343b60b workspace: add SGP4 cross-check against the reference library 2026-09-26 14:16:23 +08:00
ApsisRS contributors 9e68668c55 apsis-rs: add validation examples for geodesy and time 2026-09-26 13:47:59 +08:00
ApsisRS contributors 539f29c7b5 workspace: initialize workspace with all layer crates 2026-09-26 12:53:13 +08:00