Commit Graph

8 Commits

Author SHA1 Message Date
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 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 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 87b52d8455 workspace: enforce the layer dependency rule
README stated that a crate may only depend on layers to its left, but
nothing checked it, and the wording was self contradicting: the example
given for a cross layer jump was a reverse dependency. Clarify the rule,
add scripts/check-layers.sh to enforce it, run it in CI, and record the
boundary cases in docs/design/layers.md.
2026-09-26 23:33:20 +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 b3d9bf4b6c workspace: document the separate test directory convention 2026-09-26 13:02:01 +08:00
ApsisRS contributors af3b1c77d4 foundation: add length, time, frequency, angle, and temperature units 2026-09-26 12:55:11 +08:00
ApsisRS contributors 539f29c7b5 workspace: initialize workspace with all layer crates 2026-09-26 12:53:13 +08:00