Commit Graph

149 Commits

Author SHA1 Message Date
ApsisRS contributors 4ffe215860 docs: bilingual comments for the network tests 2026-10-02 01:59:43 +08:00
ApsisRS contributors 369becfbcf docs: finish the rf test comments 2026-10-02 01:58:31 +08:00
ApsisRS contributors afce83a670 docs: finish the rf test comments 2026-10-02 01:57:45 +08:00
ApsisRS contributors 68735b2075 docs: bilingual comments for the rf tests 2026-10-02 01:57:31 +08:00
ApsisRS contributors 1dd77d6d6e docs: bilingual comments for the orbit tests 2026-10-02 01:56:29 +08:00
ApsisRS contributors fb4fe93b51 docs: bilingual comments for the foundation and physics tests 2026-10-02 01:55:40 +08:00
ApsisRS contributors 956403cc88 docs: bilingual comments for the benchmark examples 2026-10-02 01:54:29 +08:00
ApsisRS contributors 00a1fa27fd docs: bilingual comments for the integration examples 2026-10-02 01:53:47 +08:00
ApsisRS contributors 172ef61c06 docs: bilingual comments for the dump examples 2026-10-02 01:52:26 +08:00
ApsisRS contributors 1eb7564bde docs: complete the bilingual module docs for the ops and sim layers 2026-10-02 01:51:22 +08:00
ApsisRS contributors 9f96ec7604 docs: bilingual module docs for the ops and sim layers 2026-10-02 01:49:32 +08:00
ApsisRS contributors d94709eb5f docs: bilingual module docs for the network layer 2026-10-02 01:49:08 +08:00
ApsisRS contributors fe77c981bf docs: bilingual module docs for the rf layer 2026-10-02 01:48:55 +08:00
ApsisRS contributors cb061eb29d docs: bilingual module docs for the orbit layer 2026-10-02 01:47:49 +08:00
ApsisRS contributors 4a99a9da33 docs: bilingual module docs for the physics layer 2026-10-02 01:46:35 +08:00
ApsisRS contributors 182371e3eb docs: bilingual module docs for the foundation layer 2026-10-02 01:45:27 +08:00
ApsisRS contributors a2c2f5984a docs: bilingual comments for the validation tools
Also makes the table generators emit the bilingual module docs, so a
regenerated table matches the committed one.
2026-10-02 01:44:36 +08:00
ApsisRS contributors 1b0d288d73 docs: bilingual comments for the orbit validation scripts 2026-10-02 01:42:39 +08:00
ApsisRS contributors 78614d0a97 docs: bilingual comments for the coverage and link validation scripts 2026-10-02 01:41:57 +08:00
ApsisRS contributors b3d7762d0e docs: bilingual comments for the atmosphere and coordinate validation scripts 2026-10-02 01:41:29 +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 be28a301af docs: bilingual comments for the IAU 2000 frames and Earth rotation
The Delaunay and planetary arguments, the precession, nutation, polar
motion and Earth rotation angles, and the TEME and terrestrial matrices.
This completes the bilingual sweep: every comment block in the workspace
now carries its Chinese counterpart.
2026-10-02 01:35:40 +08:00
ApsisRS contributors 71ed9fafe6 docs: bilingual comments for the Delaunay arguments 2026-10-02 01:32:09 +08:00
ApsisRS contributors 39c0ebce03 docs: bilingual comments for the antenna, doppler, interference and noise crates 2026-10-02 01:31:41 +08:00
ApsisRS contributors 6ada2c07d9 docs: bilingual comments for the link budget and antenna patterns 2026-10-02 01:29:47 +08:00
ApsisRS contributors 90efe14632 docs: bilingual comments for the atmosphere attenuation models
The P.838 rain curves, the P.676 gaseous lines, the P.839 isotherm table
and the P.835 layered refraction.
2026-10-02 01:28:58 +08:00
ApsisRS contributors ecbdaf92a2 docs: bilingual comments for access, coverage, isl and routing
This completes the network layer.
2026-10-02 01:26:58 +08:00
ApsisRS contributors b53f11eee7 docs: bilingual comments for the access finder and pass summary 2026-10-02 01:25:53 +08:00
ApsisRS contributors d8abab1f5f docs: bilingual comments for mesh and routing 2026-10-02 01:25:10 +08:00
ApsisRS contributors c25a721c08 docs: bilingual comments for handover and topology 2026-10-02 01:24:45 +08:00
ApsisRS contributors 39a2be25e2 docs: bilingual comments for the simulation layer
The event queue and identifiers, the output records and trace, the scenario
build and parse, and the run facade, including the plain comments inside
the functions.
2026-10-02 01:23:34 +08:00
ApsisRS contributors 3f780f36e1 docs: bilingual comments for the decibel and gain scales 2026-10-02 01:16:30 +08:00
ApsisRS contributors bd4b148386 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 2f62d2522b 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 500f9775db docs: bilingual comments for apsis-scheduler
The layer is complete at three hundred and sixty two blocks across the
resource, task, schedule, conflict and scheduler crates, including the
swept search and the improvement pass.
2026-10-02 01:06:17 +08:00
ApsisRS contributors efddfd6f79 docs: bilingual comments for apsis-conflict 2026-10-02 01:04:12 +08:00
ApsisRS contributors 5769be1194 docs: bilingual comments for apsis-schedule 2026-10-02 01:03:18 +08:00
ApsisRS contributors b370dea368 docs: bilingual comments for apsis-task 2026-10-02 01:01:36 +08:00
ApsisRS contributors 493fb2cf23 docs: bilingual comments for apsis-resource
Seventy-five comment blocks across the error kinds, the resource model
and the window algebra. The English is unchanged and the Chinese follows
under a blank doc line, as the glossary sets out.
2026-10-02 01:00:22 +08:00
ApsisRS contributors 18ee370e29 docs: record the benchmark method and the measurements
Three measurements, each answering a different question: what one call
costs, how the cost grows with size, and what the other cores save. The
method states the three rules the tools follow, no warm-up, best of several
runs, and cost per unit rather than an absolute figure, so a reader can
reproduce and judge.

The findings are that the numerical kernels are linear and parallelise
well, a day over two thousand satellites costs 0.7 seconds on one core and
81 milliseconds on sixteen, and that interpolation is about ten times
cheaper than propagation. Two combined operations are limited by their
algorithm: greedy planning is quadratically serial, and the duplicate
check on edge insertion squares that quadratic, so threading helps neither.
Eight threads is recommended, since efficiency falls to about half at
sixteen.
2026-10-02 00:57:20 +08:00
ApsisRS contributors fa0d68b205 docs: bilingual comments for the foundation, physics and orbit layers
Applies the glossary across apsis-math, apsis-time, apsis-leap,
apsis-coord, apsis-geodesy and the five orbit crates that were already
implemented, plus apsis-ephemeris, apsis-maneuver and apsis-orbit. Five
hundred and seven comment blocks now carry the English paragraph and the
Chinese one.

The checker learned to skip a comment that is only a formula, since a bare
symbol has no prose to translate and repeating it in Chinese would be noise.
The SGP4 cross-check still passes, so nothing in the numerical path moved.
2026-10-02 00:53:42 +08:00
ApsisRS contributors 17dc3a1bc0 docs: bilingual comments for time, leap, coord and geodesy
Four of the five physics crates are done, 104 of 239 blocks in the layer.
The remaining one is apsis-frames, which holds the IAU 2000 Earth
orientation models and carries the largest number of formulas.
2026-10-02 00:37:03 +08:00
ApsisRS contributors 4579ed064a docs: finish the foundation layer of the bilingual sweep
All 180 comment blocks across apsis-core, apsis-units and apsis-math now
carry both languages. The checker confirms no mangled bytes and no English
word left inside a Chinese sentence, two mistakes that occurred while
writing them and are now caught mechanically.
2026-10-02 00:33:19 +08:00
ApsisRS contributors a828b0b9e6 docs: start the bilingual sweep with the foundation layer
apsis-units and apsis-core are done, 86 of 180 comment blocks in the
layer. The checker in scripts/check-bilingual.py reports which blocks still
lack Chinese, and also catches the two mistakes that are easy to make while
adding a language: a mangled byte sequence, and an English word left inside
a Chinese sentence, which is what happened once in quantity.rs and is now
caught mechanically.

Translations keep terms that have a standard Chinese name in Chinese and
leave proper nouns, abbreviations and method names in English, as the
glossary sets out. The English text is never reworded.
2026-10-02 00:28:22 +08:00
ApsisRS contributors 7e545bf68a docs: describe the notation at the precision it uses
The comment said the inclination was rounded to one decimal place, but
the format prints it at full precision, so 53.25 degrees came out intact
where the comment promised 53.2. The notation is an identifier, so
truncating it would lose information for nothing.
2026-10-02 00:19:37 +08:00
ApsisRS contributors 4be2ac07c2 docs: make the constellation comments bilingual
The first crate of the sweep, so the layout can be checked before the
remaining forty. English paragraph, empty doc line, then the Chinese, per
the glossary. Terms with a standard Chinese name use it directly, so
semi-major axis reads 半长轴 rather than carrying the English each time;
Walker, SGP4 and the frame abbreviations stay as they are.

Every comment block in the crate now has both languages, the Display
strings are untouched because translating them would change what a program
prints, and the three formulas the comments state were checked against the
code: the phase offset is 2 pi f / t, the plane spacing 2 pi / p, and the
anomaly spacing 2 pi / (t / p), all of which match.
2026-10-02 00:17:21 +08:00
ApsisRS contributors 73731ad5d0 docs: add the bilingual glossary
The bilingual documentation convention needs a rule for terms, otherwise the
same word gets translated two ways in two files. The glossary separates the
terms that keep their English form, being proper names, abbreviations and
methods that exist only in English in the source literature, from the terms
that have a standard Chinese name and use it directly. It also fixes how a
formula is written, since a formula in a comment has to agree with the code
it describes.

Both languages are written, as the convention requires.
2026-10-02 00:13:34 +08:00
ApsisRS contributors a3028b2029 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 e5cdb29c82 docs: give every note an English and a Chinese version
The notes were Chinese only, so a reader arriving from GitHub, which
renders README.md by default, met a wall. Each note now follows the
convention the wider ecosystem uses: English in X.md and Simplified
Chinese in X.zh.md, with a switch at the top of both, the way
zeromicro/go-zero and alist-org/alist present theirs.

The Chinese text moved to the .zh.md name rather than being rewritten, so
nothing was lost, and the English is a translation of the same content
rather than a summary of it.

Two figures in the notes had gone stale and are corrected while
translating: there are thirteen expect assertions rather than twelve,
because apsis-math/src/parallel.rs added one, and the table listed eight
of them rather than all. The layer note no longer quotes an edge count,
which changed as the code grew and was already out of date.
2026-09-30 19:23:26 +08:00
ApsisRS contributors 2acc2170ad docs: record the scheduler search optimisation 2026-09-30 18:58:02 +08:00