bazi_core 1.1.0 copy "bazi_core: ^1.1.0" to clipboard
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 #

  • 初始版本
  • 八字(四柱)计算
  • 真太阳时计算
  • 早晚子时配置
  • 农历与阳历相互转换
1
likes
130
points
525
downloads

Documentation

API reference

Publisher

verified publisherredsc1.com

Weekly Downloads

Pure Dart BaZi charts and fortune calculations backed by ephemeris_lite.

Repository (GitHub)
View/report issues

Topics

#bazi #chinese-astrology #chinese-calendar #fortune-telling

License

MPL-2.0 (license)

Dependencies

ephemeris_lite

More

Packages that depend on bazi_core