diff --git a/Cargo.lock b/Cargo.lock index 3dee232..51f7520 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6,7 +6,6 @@ version = 4 name = "apsis-access" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-coverage", "apsis-geodesy", "apsis-math", @@ -16,7 +15,6 @@ dependencies = [ name = "apsis-antenna" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-rf", ] @@ -24,7 +22,6 @@ dependencies = [ name = "apsis-atmosphere" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-rf", ] @@ -32,7 +29,6 @@ dependencies = [ name = "apsis-conflict" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-resource", "apsis-schedule", "apsis-task", @@ -42,9 +38,7 @@ dependencies = [ name = "apsis-constellation" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-kepler", - "apsis-math", "apsis-sgp4", ] @@ -52,7 +46,6 @@ dependencies = [ name = "apsis-coord" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-frames", "apsis-geodesy", "apsis-math", @@ -66,7 +59,6 @@ version = "0.1.0" name = "apsis-coverage" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-geodesy", "apsis-math", ] @@ -83,7 +75,6 @@ dependencies = [ name = "apsis-ephemeris" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-kepler", "apsis-math", ] @@ -91,15 +82,11 @@ dependencies = [ [[package]] name = "apsis-event" version = "0.1.0" -dependencies = [ - "apsis-core", -] [[package]] name = "apsis-frames" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", ] @@ -107,17 +94,12 @@ dependencies = [ name = "apsis-geodesy" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", ] [[package]] name = "apsis-handover" version = "0.1.0" -dependencies = [ - "apsis-core", - "apsis-math", -] [[package]] name = "apsis-interference" @@ -131,7 +113,6 @@ dependencies = [ name = "apsis-isl" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", ] @@ -139,10 +120,7 @@ dependencies = [ name = "apsis-kepler" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", - "apsis-time", - "apsis-tle", ] [[package]] @@ -167,7 +145,6 @@ version = "0.1.0" name = "apsis-maneuver" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-kepler", "apsis-math", ] @@ -180,8 +157,6 @@ version = "0.1.0" name = "apsis-mesh" version = "0.1.0" dependencies = [ - "apsis-core", - "apsis-math", "apsis-topology", ] @@ -197,29 +172,21 @@ dependencies = [ name = "apsis-orbit" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-ephemeris", "apsis-kepler", "apsis-maneuver", "apsis-math", "apsis-sgp4", - "apsis-time", "apsis-tle", ] [[package]] name = "apsis-output" version = "0.1.0" -dependencies = [ - "apsis-core", -] [[package]] name = "apsis-resource" version = "0.1.0" -dependencies = [ - "apsis-core", -] [[package]] name = "apsis-rf" @@ -232,8 +199,6 @@ dependencies = [ name = "apsis-routing" version = "0.1.0" dependencies = [ - "apsis-core", - "apsis-math", "apsis-topology", ] @@ -287,7 +252,6 @@ dependencies = [ name = "apsis-scenario" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-resource", "apsis-task", ] @@ -296,7 +260,6 @@ dependencies = [ name = "apsis-schedule" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-resource", "apsis-task", ] @@ -306,7 +269,6 @@ name = "apsis-scheduler" version = "0.1.0" dependencies = [ "apsis-conflict", - "apsis-core", "apsis-resource", "apsis-schedule", "apsis-task", @@ -316,7 +278,6 @@ dependencies = [ name = "apsis-sgp4" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", "apsis-time", "apsis-tle", @@ -326,7 +287,6 @@ dependencies = [ name = "apsis-sim" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-event", "apsis-output", "apsis-resource", @@ -341,7 +301,6 @@ dependencies = [ name = "apsis-sim-engine" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-event", ] @@ -349,7 +308,6 @@ dependencies = [ name = "apsis-task" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-resource", ] @@ -357,7 +315,6 @@ dependencies = [ name = "apsis-time" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-leap", ] @@ -365,7 +322,6 @@ dependencies = [ name = "apsis-tle" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-time", ] @@ -373,7 +329,6 @@ dependencies = [ name = "apsis-topology" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", ] diff --git a/crates/network/apsis-access/Cargo.toml b/crates/network/apsis-access/Cargo.toml index 0d79fe0..dcc0503 100644 --- a/crates/network/apsis-access/Cargo.toml +++ b/crates/network/apsis-access/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true apsis-geodesy.workspace = true apsis-coverage.workspace = true diff --git a/crates/network/apsis-constellation/Cargo.toml b/crates/network/apsis-constellation/Cargo.toml index 6c33ba2..4abcebf 100644 --- a/crates/network/apsis-constellation/Cargo.toml +++ b/crates/network/apsis-constellation/Cargo.toml @@ -11,7 +11,5 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true -apsis-math.workspace = true apsis-kepler.workspace = true apsis-sgp4.workspace = true diff --git a/crates/network/apsis-coverage/Cargo.toml b/crates/network/apsis-coverage/Cargo.toml index cd76779..88a798d 100644 --- a/crates/network/apsis-coverage/Cargo.toml +++ b/crates/network/apsis-coverage/Cargo.toml @@ -11,6 +11,5 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true apsis-geodesy.workspace = true diff --git a/crates/network/apsis-handover/Cargo.toml b/crates/network/apsis-handover/Cargo.toml index 6cb6d23..2712599 100644 --- a/crates/network/apsis-handover/Cargo.toml +++ b/crates/network/apsis-handover/Cargo.toml @@ -11,5 +11,3 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true -apsis-math.workspace = true diff --git a/crates/network/apsis-isl/Cargo.toml b/crates/network/apsis-isl/Cargo.toml index 2e06413..a176747 100644 --- a/crates/network/apsis-isl/Cargo.toml +++ b/crates/network/apsis-isl/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true diff --git a/crates/network/apsis-mesh/Cargo.toml b/crates/network/apsis-mesh/Cargo.toml index 3a616df..baefbb3 100644 --- a/crates/network/apsis-mesh/Cargo.toml +++ b/crates/network/apsis-mesh/Cargo.toml @@ -11,6 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true -apsis-math.workspace = true apsis-topology.workspace = true diff --git a/crates/network/apsis-routing/Cargo.toml b/crates/network/apsis-routing/Cargo.toml index ae6c7be..3b2beaa 100644 --- a/crates/network/apsis-routing/Cargo.toml +++ b/crates/network/apsis-routing/Cargo.toml @@ -11,6 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true -apsis-math.workspace = true apsis-topology.workspace = true diff --git a/crates/network/apsis-topology/Cargo.toml b/crates/network/apsis-topology/Cargo.toml index 4efb559..3d5e0fa 100644 --- a/crates/network/apsis-topology/Cargo.toml +++ b/crates/network/apsis-topology/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true diff --git a/crates/ops/apsis-conflict/Cargo.toml b/crates/ops/apsis-conflict/Cargo.toml index dd02e52..127b3fc 100644 --- a/crates/ops/apsis-conflict/Cargo.toml +++ b/crates/ops/apsis-conflict/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true apsis-task.workspace = true apsis-schedule.workspace = true diff --git a/crates/ops/apsis-resource/Cargo.toml b/crates/ops/apsis-resource/Cargo.toml index 15bcac7..7add1d2 100644 --- a/crates/ops/apsis-resource/Cargo.toml +++ b/crates/ops/apsis-resource/Cargo.toml @@ -11,4 +11,3 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true diff --git a/crates/ops/apsis-schedule/Cargo.toml b/crates/ops/apsis-schedule/Cargo.toml index ad7e3b2..bdc47b3 100644 --- a/crates/ops/apsis-schedule/Cargo.toml +++ b/crates/ops/apsis-schedule/Cargo.toml @@ -11,6 +11,5 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true apsis-task.workspace = true diff --git a/crates/ops/apsis-scheduler/Cargo.toml b/crates/ops/apsis-scheduler/Cargo.toml index dea6d72..d69a928 100644 --- a/crates/ops/apsis-scheduler/Cargo.toml +++ b/crates/ops/apsis-scheduler/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true apsis-task.workspace = true apsis-schedule.workspace = true diff --git a/crates/ops/apsis-task/Cargo.toml b/crates/ops/apsis-task/Cargo.toml index 1144c21..5ffd609 100644 --- a/crates/ops/apsis-task/Cargo.toml +++ b/crates/ops/apsis-task/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true diff --git a/crates/orbit/apsis-ephemeris/Cargo.toml b/crates/orbit/apsis-ephemeris/Cargo.toml index 595e0e2..b0a6e10 100644 --- a/crates/orbit/apsis-ephemeris/Cargo.toml +++ b/crates/orbit/apsis-ephemeris/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true [dev-dependencies] diff --git a/crates/orbit/apsis-kepler/Cargo.toml b/crates/orbit/apsis-kepler/Cargo.toml index 95096a8..0879cd8 100644 --- a/crates/orbit/apsis-kepler/Cargo.toml +++ b/crates/orbit/apsis-kepler/Cargo.toml @@ -11,7 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true -apsis-time.workspace = true -apsis-tle.workspace = true diff --git a/crates/orbit/apsis-maneuver/Cargo.toml b/crates/orbit/apsis-maneuver/Cargo.toml index e1bd7bf..e8a881a 100644 --- a/crates/orbit/apsis-maneuver/Cargo.toml +++ b/crates/orbit/apsis-maneuver/Cargo.toml @@ -11,6 +11,5 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true apsis-kepler.workspace = true diff --git a/crates/orbit/apsis-orbit/Cargo.toml b/crates/orbit/apsis-orbit/Cargo.toml index 8a60416..0d565df 100644 --- a/crates/orbit/apsis-orbit/Cargo.toml +++ b/crates/orbit/apsis-orbit/Cargo.toml @@ -11,9 +11,7 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true -apsis-time.workspace = true apsis-tle.workspace = true apsis-sgp4.workspace = true apsis-kepler.workspace = true diff --git a/crates/orbit/apsis-sgp4/Cargo.toml b/crates/orbit/apsis-sgp4/Cargo.toml index 3bcfa50..cf9c5d6 100644 --- a/crates/orbit/apsis-sgp4/Cargo.toml +++ b/crates/orbit/apsis-sgp4/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true apsis-tle.workspace = true apsis-time.workspace = true diff --git a/crates/orbit/apsis-tle/Cargo.toml b/crates/orbit/apsis-tle/Cargo.toml index 5ecaf87..8745155 100644 --- a/crates/orbit/apsis-tle/Cargo.toml +++ b/crates/orbit/apsis-tle/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-time.workspace = true diff --git a/crates/physics/apsis-coord/Cargo.toml b/crates/physics/apsis-coord/Cargo.toml index 32c0476..1f72789 100644 --- a/crates/physics/apsis-coord/Cargo.toml +++ b/crates/physics/apsis-coord/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true apsis-geodesy.workspace = true apsis-frames.workspace = true diff --git a/crates/physics/apsis-frames/Cargo.toml b/crates/physics/apsis-frames/Cargo.toml index 6d9c852..d104846 100644 --- a/crates/physics/apsis-frames/Cargo.toml +++ b/crates/physics/apsis-frames/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true diff --git a/crates/physics/apsis-geodesy/Cargo.toml b/crates/physics/apsis-geodesy/Cargo.toml index ba0412a..affcd32 100644 --- a/crates/physics/apsis-geodesy/Cargo.toml +++ b/crates/physics/apsis-geodesy/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true diff --git a/crates/physics/apsis-time/Cargo.toml b/crates/physics/apsis-time/Cargo.toml index b9affc0..d71e4f9 100644 --- a/crates/physics/apsis-time/Cargo.toml +++ b/crates/physics/apsis-time/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-leap.workspace = true diff --git a/crates/rf/apsis-antenna/Cargo.toml b/crates/rf/apsis-antenna/Cargo.toml index 8962588..48d04c3 100644 --- a/crates/rf/apsis-antenna/Cargo.toml +++ b/crates/rf/apsis-antenna/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-rf.workspace = true diff --git a/crates/rf/apsis-atmosphere/Cargo.toml b/crates/rf/apsis-atmosphere/Cargo.toml index 428fc18..3115d43 100644 --- a/crates/rf/apsis-atmosphere/Cargo.toml +++ b/crates/rf/apsis-atmosphere/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-rf.workspace = true diff --git a/crates/sim/apsis-event/Cargo.toml b/crates/sim/apsis-event/Cargo.toml index 3bc217e..b1420ab 100644 --- a/crates/sim/apsis-event/Cargo.toml +++ b/crates/sim/apsis-event/Cargo.toml @@ -11,4 +11,3 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true diff --git a/crates/sim/apsis-output/Cargo.toml b/crates/sim/apsis-output/Cargo.toml index 1cf888a..053fff8 100644 --- a/crates/sim/apsis-output/Cargo.toml +++ b/crates/sim/apsis-output/Cargo.toml @@ -11,4 +11,3 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true diff --git a/crates/sim/apsis-scenario/Cargo.toml b/crates/sim/apsis-scenario/Cargo.toml index 694316b..122e29f 100644 --- a/crates/sim/apsis-scenario/Cargo.toml +++ b/crates/sim/apsis-scenario/Cargo.toml @@ -11,6 +11,5 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true apsis-task.workspace = true diff --git a/crates/sim/apsis-sim-engine/Cargo.toml b/crates/sim/apsis-sim-engine/Cargo.toml index 4bc4b82..dd13078 100644 --- a/crates/sim/apsis-sim-engine/Cargo.toml +++ b/crates/sim/apsis-sim-engine/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-event.workspace = true diff --git a/crates/sim/apsis-sim/Cargo.toml b/crates/sim/apsis-sim/Cargo.toml index 1bd35a1..ffb6b35 100644 --- a/crates/sim/apsis-sim/Cargo.toml +++ b/crates/sim/apsis-sim/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true apsis-task.workspace = true apsis-schedule.workspace = true diff --git a/docs/design/layers.md b/docs/design/layers.md index 71aaf6d..d10d84f 100644 --- a/docs/design/layers.md +++ b/docs/design/layers.md @@ -41,13 +41,19 @@ index(B) > index(A) 违规(反向依赖) ## 全局基准 -`apsis-core`(错误、常量、单位标记)与 `apsis-math`(`Vec3`、`Mat3`、 -`Quat`)被各层共用,包括最左的 `foundation` 之外的所有层。它们本身在 -`foundation` 中,所以"只向左依赖"已经允许任何层使用它们,无需特例。 +`apsis-core`(通用错误、常量、单位标记)与 `apsis-math`(`Vec3`、 +`Mat3`、`Quat`)被各层共用。它们本身在 `foundation` 中,所以"只向左依赖" +已经允许任何层使用它们,无需特例。 这与"层内基准"不同:`apsis-core` 也是 `foundation` 内的基准,但它的可用 范围是整个工作区,而不只是同层。 +**只有真正使用的依赖才声明。** `apsis-core` 与 `apsis-math` 可以被任何 +crate 使用,但一个不引用它们的 crate 不应把它们写进清单:未使用的依赖会 +拖慢编译、让 `cargo tree` 与分层检查产生噪声,并让"谁依赖什么"失真。 +需要时再加,是一条随时可走的单行改动。`scripts/check-layers.sh` 报告的 +边数因此是真实的使用关系,而不是一份预留清单。 + ## 层内门面 每层以一个门面 crate 作为整合点: @@ -80,4 +86,4 @@ bash scripts/check-layers.sh ``` 脚本输出检查过的依赖边数,并在发现反向依赖时逐条列出后以退出码 1 结束。 -对当前工作区,它检查 141 条边,全部方向正确。 +对当前工作区,它检查 104 条边,全部方向正确。