bazi_core 1.1.0
bazi_core: ^1.1.0 copied to clipboard
Pure Dart BaZi charts and fortune calculations backed by ephemeris_lite.
1.1.0 #
- 增加
BaziChart.fromSolarDay()与BaziChart.fromLunarDay(),日期与出生时辰分别传入;农历转换和排盘共用同一组历法及时区选项。 - 以
birthChartTime/birth.chartTime作为排盘钟面时间的正式名称;旧birthCivilTime/virtualTime保留为弃用兼容入口。 - 补充中英文 README、时间模型、构造方式及历法设置一致性说明。
- 将
ephemeris_lite依赖升级至^1.1.0。
1.0.0 #
- 首个重写后的稳定版本;公共 API 与
1.0.0-beta.1保持一致。 - 将
ephemeris_lite依赖固定到稳定版^1.0.0。 - 完成四柱、关系、神煞、起运运表和反查的 JS/C++/Dart Web 验证。
1.0.0-beta.1 #
- [重大破坏性更新] 基于
bazi-lite重写为纯 Dart 实现,公共 API 与旧版0.6.x不兼容;TimePack拆分为显式的物理时刻、计算钟表和逐盘选项,默认采用民用钟表时间。迁移方式见doc/migration.md。 - [依赖重构] 天文与历法内核由
sxwnl_spa_dart迁移至已发布的ephemeris_lite。 - [功能移植] 提供四柱规则、66 种神煞、关系汇总、起运/运表、人元司令及分步/完整反查。
- [API 完善] 补齐公开常量、快捷别名、
JulianTime输入、JSON 选项恢复及 JS → Dart 接口对照表。 - [状态模型] 增加逐盘不可变选项、物理时刻与计算钟表分离,以及不可变神煞模块目录和选择快照;内置规则可停用但不可覆盖或删除。
- [验证] 覆盖共享 C++ 夹具、JS 数值对照、旧 Dart 规则回归和 Dart Web 运行验证。
- [许可证] 新实现沿用
bazi-lite的 MPL-2.0;旧 MIT 实现保留在此前版本历史中。
0.6.7 #
- [修复] 切换
TimeAdaptor.fromSolar至sxwnl_spa_dart新增的calcGanZhiAstroDate接口,修复13:00:00等整点因 JD 浮点精度漂移导致时辰判定偏差(午时→未时)的问题。
0.6.6 #
- [新增] 新增八字反查核心接口
BaziReverseLookup,支持按年柱/月柱/日柱反查日期候选。 - [新增] 新增
searchTimesForDate(),支持在日期候选上继续反查时辰,并区分普通子时与晚子时。 - [新增] 新增
searchFullBazi()完整八字反查入口,内部自动串联“先搜日期,再搜时辰”。 - [规则对齐] 节气切换日支持
beforeJie / afterJie双候选,兼容立春、清明等同日切年/月场景。 - [规则对齐] 反查时完整透传
RatHourMode,确保晚子时todayGan / tomorrowGan / noSplit语义与正向排盘一致。 - [测试] 补充立春切年切月、晚子时与完整八字反查回归测试。
0.6.5 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.18.4。 - [历法修复] 同步底层
LunarDate在公元前古历区间与公元后历史改历时期的农历归年修复,确保八字相关农历解析与底层历法一致。
0.6.4 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.18.3。 - [BCE 修复] 同步底层
LunarDate.fromString()的 BCE 农历归年修复,确保公元前日期在八字相关农历解析场景下与底层历法保持一致。
0.6.3 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.18.1。 - [兼容修复] 对齐
sxwnl_spa_dart中LunarDate的天文纪年重大修复与历史纪年辅助 API。
0.6.2 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.18.0,适配天文纪年 breaking change。
0.6.1 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.17.0。
0.6.0 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.16.0,对齐 OpenDestiny 0.1.0 发布。 - [工程化] 切换
sxwnl_spa_dart依赖从本地路径 (path) 改为 pub.dev 云端版本,正式支持独立发布。 - [元数据] 完善
pubspec.yaml:新增repository、issue_tracker、topics以提升 pub.dev 评分与可发现性。
0.5.0 #
- [新增] 完整流运表 (FortuneTable): 新增
FortuneTable类,提供大运 → 流年 → 流月 → 流日 → 流时的完整层级结构。- 流月按节气月划分(立春~惊蛰为正月,以此类推)。
- 流时支持:每个流日包含 12 个时辰的干支(五鼠遁)。
- 早晚子时:支持
splitByRatHour配置,精确处理 23:00-24:00 的晚子时归属(用次日日干)。 - 支持通过虚岁或阳历年快速定位特定流年。
- [导出] 导出
Fortune类: 在bazi_core.dart中导出Fortune,方便用户构建流运表。
0.4.5 #
- [依赖更新] 升级
sxwnl_spa_dart依赖至^0.15.1。
0.4.4 #
- [新增] 支持命宫、身宫、胎元、胎息(“附加柱”)参与刑冲克害计算与神煞分析。
- [配置化] 引入
ExtraPillarsConfig,允许用户灵活控制哪些附加柱参与计算(默认关闭以保持原局纯净)。 - [导出增强] 在
bazi_core.dart中导出ExtraPillarsConfig和AstroDateTime,简化外部调用。 - [修复] 修正
interaction_example.dart的测试代码告警。
0.4.3 #
- [新增] 实现“人元司令” (Ren Yuan Si Ling) 计算逻辑,并集成至
BaziChart.siLing。 - [多版本支持] 提供两个版本的人元司令分野表:
sanMingTongHui: 严格遵循《三命通会》原著天数分布(如寅月 5-5-20)。common: 适配网络流传及商业排盘常用天数分布(如寅月 7-7-16)。
- [算法对齐] 经过大量实测对比,人元司令采用精确24小时(从节气时刻起算)的偏移算法(注:针对某些月份存在的非标准天数偏差,已在代码中详细注释说明)。
- [代码规范] 完善了
si_ling.dart的文档注释,包含《三命通会》原文引用。
0.4.2 #
- [重大修复] 修正命宫与身宫计算逻辑:
- 修复了命宫与身宫的地支推算公式,确保完全符合《三命通会》等传统推排规则。
- 修复了“五虎遁”(年上起月)在推算子位与丑位天干时的偏移计算错误(解决 2000 年等案例身宫天干不准的问题)。
- 移除了试验性的“过中气换月”逻辑,改回使用八字月柱地支进行直接推算,以保持与主流平台一致。
- 在代码中增加《三命通会》原文注释,方便逻辑核验。
0.4.1 #
- 新增胎息计算: 在
BaziChart中增加taiXi属性,支持计算日柱的天地双合(胎息)。 - 新增干支合伴查询: 在
BaziTable中增加getStemCombinationPartner和getBranchCombinationPartner辅助方法。
0.4.0 #
- 新增神煞分析系统: 引入
ShenShaHelper和ShenShaInfo,支持全盘神煞检测(实验性功能)。 - 支持多层级岁运分析: 可检测流年、流月、流日、流时的神煞信息。
- 内置大量常见神煞: 包含天乙贵人、驿马、桃花、魁罡、天罗地网等多种神煞规则。
- 修复与优化: 修正了部分干支字符串解析问题,并统一了命名规范。
0.3.0 #
- 新增刑冲合害等计算: 引入
BaziInteractionCalculator,支持全面的干支感应计算。 - 支持多柱全量判定: 打破原局四柱限制,支持将大运、流年、流月等干支统一进行刑冲合害计算,精准处理争合、多冲一等复杂命理意象。
- 高级抑制逻辑: 实现“大局压制小局”算法(如:三合全自动抑制半合/拱合,三刑全抑制两两相刑),确保输出结果精炼无冗余。
- 感应合并机制: 自动合并重复干支产生的同类感应(如:二子冲一午),有效减少 UI 连线过载。
- 模型增强: 引入
InteractionNode和InteractionResult模型,支持PillarType位置标记及合化五行结果输出。 - API 集成: 在
BaziChart中新增getAllInteractions和getInteractionsWith方法,实现一键获取排盘分析结果。
0.2.0 #
- 新增核心属性查询: 引入
BaziTable,支持高性能天干地支的五行、阴阳、地支藏干属性查询。 - 新增十神计算引擎: 引入
Relationship类,支持根据日干计算天干及地支藏干的十神(ShiShen)关系。 - 新增长生十二神: 支持计算长生、沐浴等十二种生命状态,并内置“火土同宫/水土同宫”算法切换开关。
- 架构升级: 采用静态查找表设计,替换 extension 模式,提升库的可移植性及跨语言移植潜力。
- 导出补全: 完善
bazi_core.dart导出,确保新功能全局可用。
0.1.3 #
- 升级依赖
sxwnl_spa_dart至0.10.0 - 移除重复的模型文件,直接复用
sxwnl_spa_dart的实现
0.1.2 #
- 升级依赖
sxwnl_spa_dart至0.9.7以修复节气计算问题
0.1.1 #
- GanZhi 新增 getKongWang
- 修复分析器告警并补充测试
0.1.0 #
- 新增八字大运功能
- 支持大运起运时间计算
- 支持查看任意步大运信息
- 新增 Gender 和 DaYunAlgorithm 枚举
0.0.1 #
- 初始版本
- 八字(四柱)计算
- 真太阳时计算
- 早晚子时配置
- 农历与阳历相互转换