Expand description
端口层:叶与编排之间的契约。
这里只有抽象——一片叶要长成什么样(CastingEngine)、一次排盘的输入是什么
(Query)、一片叶如何声明自己的确定性边界与流派(DetItem / SchoolItem)、
需求侧有哪几类问局(IntentSpec)。
依赖方向:叶实现这里的 trait,编排层消费这里的 trait,双方都不认识对方。
本 crate 除共享时刻 mingli_astro::Moment 外不依赖任何领域实现。
按关注点分四份:ports 两个 trait 本身、query 输入、declare 叶的自述、
intent 需求侧的问局分类。
Re-exports§
pub use declare::d;pub use declare::s;pub use declare::DetItem;pub use declare::Determinism;pub use declare::Family;pub use declare::SchoolItem;pub use intent::intents;pub use intent::Intent;pub use intent::IntentSpec;pub use intent::IntentStatus;pub use ports::effective_school_id;pub use ports::Bearing;pub use ports::CastingEngine;pub use ports::LeafOutput;pub use ports::Principal;pub use ports::WordEngine;pub use ports::WordQuery;pub use query::effective_seed;pub use query::AskTime;pub use query::Gender;pub use query::Query;pub use query::QueryKind;pub use query::Subject;pub use validate::days_in_month;pub use validate::validate_coords;pub use validate::validate_instant;pub use validate::validate_query;
Modules§
- declare
- 一片叶对自己的声明:属于哪个计算家族、哪些地方算得准、有哪些流派。
- intent
- 需求侧:有哪几类问局,各自要什么输入原子、出什么形态。
- ports
- 两个端口本身。
- query
- 一次排盘的输入:时刻与它周围那些可缺省的原子。
- validate
Query与出生时刻的取值域。
Structs§
- Moment
- 时刻的共享天文/历法上下文:对一个出生/问事时刻,把所有「时间→天文量」的公共子计算 (儒略日、力学时、太阳视黄经、民用日序、农历)一次性算出并缓存。