diff --git a/content/concepts/architecture-apsis-rs.zh.md b/content/concepts/architecture-apsis-rs.zh.md index 70fd167..62f0530 100644 --- a/content/concepts/architecture-apsis-rs.zh.md +++ b/content/concepts/architecture-apsis-rs.zh.md @@ -1,5 +1,6 @@ --- title: 工作区架构 +tags: 架构, 分层, crate summary: apsis-rs 的分层结构、每层的 crate 以及依赖规则。 --- diff --git a/content/concepts/calendar-and-mjd.zh.md b/content/concepts/calendar-and-mjd.zh.md index f0239d0..d1bb899 100644 --- a/content/concepts/calendar-and-mjd.zh.md +++ b/content/concepts/calendar-and-mjd.zh.md @@ -1,5 +1,6 @@ --- title: 日历与约化儒略日 +tags: 时间, 日历, 儒略日, mjd summary: 日编号系统、外推格里高利历,以及转换算法。 --- diff --git a/content/concepts/earth-rotation-angle.zh.md b/content/concepts/earth-rotation-angle.zh.md index abce58c..41406b3 100644 --- a/content/concepts/earth-rotation-angle.zh.md +++ b/content/concepts/earth-rotation-angle.zh.md @@ -1,5 +1,6 @@ --- title: 地球自转角 +tags: 参考系, 地球自转, iers, ut1 summary: 惯性系与地固系之间的夹角,以及给出该值的线性表达式。 --- diff --git a/content/concepts/ephemeris-interpolation.zh.md b/content/concepts/ephemeris-interpolation.zh.md index b9c4924..3163863 100644 --- a/content/concepts/ephemeris-interpolation.zh.md +++ b/content/concepts/ephemeris-interpolation.zh.md @@ -1,5 +1,6 @@ --- title: 星历采样与插值 +tags: 星历, 插值, 采样, hermite summary: 何时采样一次并多次查询轨迹,以及插值所付出的精度代价。 --- diff --git a/content/concepts/geodesy-wgs84.zh.md b/content/concepts/geodesy-wgs84.zh.md index 568d05d..560e1a8 100644 --- a/content/concepts/geodesy-wgs84.zh.md +++ b/content/concepts/geodesy-wgs84.zh.md @@ -1,5 +1,6 @@ --- title: WGS 84 椭球与大地坐标 +tags: 大地测量, wgs84, 纬度, 椭球 summary: 纬度、经度与椭球高,以及到直角坐标的闭式转换。 --- diff --git a/content/concepts/keplerian-elements.zh.md b/content/concepts/keplerian-elements.zh.md index 45723ae..c09ced9 100644 --- a/content/concepts/keplerian-elements.zh.md +++ b/content/concepts/keplerian-elements.zh.md @@ -1,5 +1,6 @@ --- title: 开普勒轨道元素 +tags: 轨道, 开普勒, 元素, 近点角 summary: 六个经典轨道元素、二体解与三种近点角。 --- diff --git a/content/concepts/leap-seconds.zh.md b/content/concepts/leap-seconds.zh.md index 7d93e5a..dc8ad5c 100644 --- a/content/concepts/leap-seconds.zh.md +++ b/content/concepts/leap-seconds.zh.md @@ -1,5 +1,6 @@ --- title: 闰秒 +tags: 时间, utc, 闰秒, iers summary: UTC 为何存在阶跃间断,以及内嵌闰秒表如何处理它们。 --- diff --git a/content/concepts/overview.zh.md b/content/concepts/overview.zh.md index cba7d23..2b78133 100644 --- a/content/concepts/overview.zh.md +++ b/content/concepts/overview.zh.md @@ -1,5 +1,6 @@ --- title: 概念总览 +tags: 总览, 范围 summary: ApsisRS 计算内核的覆盖范围,以及本概念文档集的组织方式。 --- diff --git a/content/concepts/perturbations.zh.md b/content/concepts/perturbations.zh.md index eb7823b..86a59d7 100644 --- a/content/concepts/perturbations.zh.md +++ b/content/concepts/perturbations.zh.md @@ -1,5 +1,6 @@ --- title: 轨道摄动 +tags: 轨道, 摄动, 阻力, 扁率, 三体 summary: 使轨道偏离椭圆的各种力,以及各模型包含其中哪些。 --- diff --git a/content/concepts/propagator-comparison.zh.md b/content/concepts/propagator-comparison.zh.md index 9158134..05f23aa 100644 --- a/content/concepts/propagator-comparison.zh.md +++ b/content/concepts/propagator-comparison.zh.md @@ -1,5 +1,6 @@ --- title: 传播器选择 +tags: 传播, 对比, sgp4, hpop summary: 各种传播方法的对比,以及各自的开销与精度。 --- diff --git a/content/concepts/reference-frames.zh.md b/content/concepts/reference-frames.zh.md index 38f8e47..ec075a8 100644 --- a/content/concepts/reference-frames.zh.md +++ b/content/concepts/reference-frames.zh.md @@ -1,5 +1,6 @@ --- title: 参考系 +tags: 参考系, 惯性系, 地固系, 大地坐标, 旋转 summary: 惯性系与地固系、在类型中携带参考系的位置表示,以及二者之间的旋转。 --- diff --git a/content/concepts/sgp4.zh.md b/content/concepts/sgp4.zh.md index 34b4760..36cc892 100644 --- a/content/concepts/sgp4.zh.md +++ b/content/concepts/sgp4.zh.md @@ -1,5 +1,6 @@ --- title: SGP4 与 SDP4 传播 +tags: sgp4, sdp4, 传播, 两行元素集 summary: 两行元素集所拟合的解析传播器、其两个分支,以及坐标系与单位。 --- diff --git a/content/concepts/standards-and-provenance.zh.md b/content/concepts/standards-and-provenance.zh.md index 718ca58..373c944 100644 --- a/content/concepts/standards-and-provenance.zh.md +++ b/content/concepts/standards-and-provenance.zh.md @@ -1,5 +1,6 @@ --- title: 标准与来源 +tags: 标准, 引用, 出处 summary: 各内核所遵循的公开标准与论文,以及引用方式。 --- diff --git a/content/concepts/time-scales.zh.md b/content/concepts/time-scales.zh.md index a40e408..5c2cbde 100644 --- a/content/concepts/time-scales.zh.md +++ b/content/concepts/time-scales.zh.md @@ -1,5 +1,6 @@ --- title: 时间尺度 +tags: 时间, utc, tai, tt, gps summary: UTC、TAI、TT 与 GPS,以及为什么时刻只存储在单一尺度上。 --- diff --git a/content/concepts/tle-format.zh.md b/content/concepts/tle-format.zh.md index b52a200..10d3cde 100644 --- a/content/concepts/tle-format.zh.md +++ b/content/concepts/tle-format.zh.md @@ -1,5 +1,6 @@ --- title: 两行元素格式 +tags: 两行元素集, 元素, 格式, 校验和 summary: 两行元素集的定宽列、校验和规则,以及两个容易误读的约定。 --- diff --git a/docs/design.md b/docs/design.md index 988f490..aa49e11 100644 --- a/docs/design.md +++ b/docs/design.md @@ -276,6 +276,54 @@ sentence that contains 坐标, which a whole-run token would not. A single Chinese character is left to the substring fallback rather than becoming a token, because a token of one character would match nearly every document. +## Interface layout + +Four layout decisions keep the pages coherent at any window width. + +A page is a **reading column**. Most pages are text, a card grid, or a form, +and all three read better in a centred column than across a whole wide +screen. A document is wider than the column because it carries a table of +contents beside the text; the width of the pair is capped so the two stay +together. A graph is the exception and uses the whole width, because a wide +screen should show more of the graph rather than more margin. + +A grid of cards **stretches every card in a row** to the height of the +tallest. A card is therefore a column, its action is pushed to the bottom, +and its summary is clamped, so the actions of a row line up and one long +paragraph cannot stretch a card past its neighbours. + +The sidebar is **a sticky element inside a frame**. The frame carries the +surface and the rule so the column is drawn for the whole page; the sidebar +itself is `sticky` and scrolls. Without the frame the column would end one +viewport down and read as cut off on a long page. + +The graph canvas takes the **aspect of the layout space**, so the drawing +fills it instead of being letterboxed inside it. The force simulation +settles into a roughly round cluster while the canvas is wide, so the layout +is widened to the canvas shape before it is fitted; the change is a uniform +scale, which leaves relative distances readable. + +## Language coverage + +A user facing string falls into three classes, and each is handled +differently. + +Interface chrome — navigation, headings, buttons, help text — is a +hand written dictionary in `frontend/src/lib/i18n.ts`, keyed by a stable +name. It covers the graph group captions and the interface item kinds, so a +Chinese reader sees a Chinese legend and Chinese group headings. + +Authored content — concept documents, crate summaries, item documentation — +is a separate file per language, so the backend serves both and the reader +switches without another request. A document declares its own tags in each +language file under the same key, so the tag list follows the language too. + +Derived text — a one line summary used in a card — is produced by the +backend from the document, and the renderer resolves the rustdoc forms a doc +comment uses. A shortcut reference such as `[`Vec3`]` is reduced to the item +name; without that, the brackets and backticks appear verbatim in the +summary. + ## Testing Unit tests live beside the code they test and cover the parser, the codec, diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index a1ee00e..ef7a58b 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -154,6 +154,7 @@