Commit Graph

13 Commits

Author SHA1 Message Date
ApsisRS contributors 655e214a5e docs: repair partial translations, sentence splits and duplicated blocks
The bilingual sweep had left some blocks with only their last paragraph
translated, a few with the Chinese inserted inside an English sentence,
and some with a repeated paragraph from a re-applied table. A rewrite of
the coverage checks found them; this fixes every block and restores the
comment separators that a cleanup pass had emptied.
2026-10-02 02:18:15 +08:00
ApsisRS contributors ad05381d61 docs: bilingual comments for the network tests 2026-10-02 01:59:43 +08:00
ApsisRS contributors 5e521a447b docs: bilingual module docs for the network layer 2026-10-02 01:49:08 +08:00
ApsisRS contributors f3cf18df41 docs: bilingual comments for access, coverage, isl and routing
This completes the network layer.
2026-10-02 01:26:58 +08:00
ApsisRS contributors 295ba16d0d docs: bilingual comments for the access finder and pass summary 2026-10-02 01:25:53 +08:00
ApsisRS contributors 99807cb5e6 docs: bilingual comments for the error types, links and mesh
The error modules across the remaining crates share a shape, so one table
covers them all. Also the inter-satellite link geometry and the mesh
connectivity analysis, including the Menger and Kosaraju notes.
2026-10-02 01:14:59 +08:00
ApsisRS contributors e41e2c77bb docs: extend the bilingual sweep into routing, topology, access and rf
A translation table for the sentences that recur across the error types
and the simple accessors let the same wording be applied everywhere at
once, which both keeps the Chinese consistent and covers a hundred and
twenty-nine sites in a single pass. Routing, topology, access and the radio
frequency crates are now part of the sweep.
2026-10-02 01:10:40 +08:00
ApsisRS contributors 4e69a0123a fix: reject an unordered sample sequence in the access search
The search binary searches the sample list to interpolate between the two
samples that straddle a crossing, and a binary search over an unordered
list returns a wrong index instead of failing. Only the first and last
times were checked, so a sequence whose ends were in order but whose
middle was not refined each crossing against the wrong pair of positions
and reported a pass that never happened. On a circular ground track,
shuffling two samples changed the result from three passes to two and
still returned Ok.

The whole sequence is now checked, with a new UnorderedSamples error kind
that says which pair is out of order. The test covers the middle-of-
sequence case that the end check missed.

Two comments also described something other than what the code does, and
two Option-returning accessors did not say what makes them None:

- GravityModel::x2o3 is the constant 2/3, used as an exponent in the
  mean motion and drag corrections, not 2 * xke^2 as its comment claimed;
  the sgp4 reference implementation uses the same constant the same way.
- WalkerPattern::plane_spacing and phase_offset returned None without
  saying so, which is the case a caller has to handle.

Both READMEs claimed twelve expect sites where there are thirteen, because
apsis-math/src/parallel.rs added one and the count was not carried over.
2026-10-02 00:03:22 +08:00
ApsisRS contributors 11ca1956ae math, access: correct the parallel notes and a test's geometry
The parallelism note linked to a type the module does not import, which
rustdoc rejects, so it reads as plain text now. The access batch test
computed a propagated state it did not use; it now takes the shell radius
from it so the track sits at a realistic altitude.
2026-09-30 18:40:49 +08:00
ApsisRS contributors 5e689a734c access: search a constellation's tracks across several threads
A ground station's access schedule is one search per satellite, each
independent of the others, and a shell gives enough of them to pay for the
threads. The parallel form returns the same summaries in the same order as
the sequential one, including an error at the position the sequential form
would put it, so one bad track does not hide the rest.
2026-09-30 18:37:02 +08:00
ApsisRS contributors 4d45d4cf41 workspace: remove dependencies that are declared but never used
Thirty four crates listed apsis-core or apsis-math without referencing it,
and apsis-kepler listed apsis-time and apsis-tle as well. Each was verified
removable by compiling with it taken out. An unused dependency still costs
build time and makes the dependency graph and the layer check report
relations that do not exist. The layer check now reports 104 edges, down
from 141.
2026-09-26 23:36:38 +08:00
ApsisRS contributors 2a41cf1560 network: add access window finder 2026-09-26 15:51:47 +08:00
ApsisRS contributors d3afe86dfc workspace: initialize workspace with all layer crates 2026-09-26 12:53:13 +08:00