• v0.1.2 Stable

    b612 released this 2026-05-17 21:24:16 +08:00 | 0 commits to master since this release

    中文

    Fixed

    • 修复 TinyGo 编译到 wasm 时可能在 planet 包初始化阶段报 interp: unsupported fcmp 的问题。
    • planetViews 从包级初始化改为 sync.Once 懒加载,避免 TinyGo 在编译期解释大型 float64 星历表切片索引。
    • planet 内部视图构建改为返回 error,再由兼容层统一 panic,避免懒加载初始化失败后留下未初始化缓存。
    • 补充无效行星数据切片边界测试。

    English

    Fixed

    • Fixed a TinyGo wasm build failure that could report interp: unsupported fcmp during planet package initialization.
    • Changed planetViews from package-level eager initialization to sync.Once lazy initialization, avoiding TinyGo compile-time interpretation of large float64 ephemeris table slicing.
    • Changed internal planet-view construction to return error, with the compatibility layer still panicking on corrupted built-in data, avoiding an uninitialized cache after lazy initialization failure.
    • Added a test for invalid planet-data slice boundaries.
    Downloads
  • v0.1.1 Stable

    b612 released this 2026-05-03 20:12:20 +08:00 | 1 commits to master since this release

    中文

    Added

    • 新增水星、金星地心凌日查询能力,提供 NextTransit / LastTransit / ClosestTransit,返回一触、二触、凌甚、三触、四触、持续时间、最小角距离和视半径等信
      息。
    • basic 层新增通用 PlanetTransitResult,并提供水星/金星凌日搜索入口,供上层包复用。
    • eclipse 新增本地可见日全食、日环食、月全食专项搜索接口:
    • LastLocalTotalSolarEclipse / NextLocalTotalSolarEclipse / ClosestLocalTotalSolarEclipse
    • LastLocalAnnularSolarEclipse / NextLocalAnnularSolarEclipse / ClosestLocalAnnularSolarEclipse
    • LastLocalTotalLunarEclipse / NextLocalTotalLunarEclipse / ClosestLocalTotalLunarEclipse
    • 新接口返回 (info, ok),可明确区分“找到事件”和“搜索范围内无结果”。

    Changed

    • 优化日食、月食搜索流程:增加食季跳步和黄纬预筛,减少非食季朔望月的无效精算。
    • 沙罗周期匹配改用压缩锚点表快速匹配,并保留回退 walk 逻辑,提升查询效率且维持边界兼容。
    • 本地中心食搜索现在要求中心阶段可见,避免只在偏食阶段可见时误报为本地可见日全食/日环食/月全食。
    • README 中英文文档同步补充了中心食专项搜索接口、水星/金星凌日示例和能力清单。

    English

    Added

    • Added geocentric Mercury and Venus transit queries via NextTransit / LastTransit / ClosestTransit, returning first contact, second contact,
      greatest transit, third contact, fourth contact, duration, minimum separation, and apparent semidiameters.
    • Added the shared PlanetTransitResult type in basic, with Mercury/Venus transit search entry points for upper-layer packages.
    • Added dedicated local visible total solar eclipse, annular solar eclipse, and total lunar eclipse search APIs in eclipse:
    • LastLocalTotalSolarEclipse / NextLocalTotalSolarEclipse / ClosestLocalTotalSolarEclipse
    • LastLocalAnnularSolarEclipse / NextLocalAnnularSolarEclipse / ClosestLocalAnnularSolarEclipse
    • LastLocalTotalLunarEclipse / NextLocalTotalLunarEclipse / ClosestLocalTotalLunarEclipse
    • New search APIs return (info, ok) to distinguish found events from no result within the search range.

    Changed

    • Optimized solar and lunar eclipse search with eclipse-season skipping and latitude prefiltering, reducing unnecessary full calculations outside eclipse
      seasons.
    • Reworked Saros matching to use compressed anchor tables with a walk fallback, improving lookup efficiency while preserving edge-case compatibility.
    • Local central-eclipse searches now require the central phase to be visible, avoiding false positives where only the partial phase is observable.
    • Updated Chinese and English README files with central-eclipse search APIs, Mercury/Venus transit examples, and capability lists.
    Downloads
  • v0.1.0 Stable

    b612 released this 2026-05-01 23:01:01 +08:00 | 2 commits to master since this release

    中文

    本次代码更新聚焦日月食、行星事件、恒星工具、通用轨道、日晷和轻量计算链路,同时整理了文档与测试基线。

    重要行为变更:Zenith 天顶距语义修正

    旧版中 Zenith 系列函数实际返回的是高度角。本版已修正为天顶距(Zenith = 90° - Altitude)。受影响的包:sun、moon、七大行星、star、orbit、lite/sun、lite/moon 及其 N 变体。

    迁移要点:原先用 Zenith() 获取高度角的改为 Altitude();原先用 Zenith() > 0 判断地平线上方的改为 Altitude() > 0;原先手动计算 90 - Zenith() 的现在直接用 Zenith() 即可。

    新增

    • 日月食:全局/地方日食、中心线、偏食足迹;全局/地方月食;日食与月食 SVG;支持 NASA split-k 和 IAU single-k 半径口径;结果含沙罗周期信息
    • 行星:合、冲、留、方照、大距事件;视直径、相位角、照明比例、亮肢位置角、视星等、轨道节点、物理星历
    • 木星伽利略卫星:L1 星历位置、凌掩食影现象判定、接触事件搜索
    • 太阳与月球:日面 P/B0/L0;月球地心/站心天平动、近远地点、最大赤纬、亮边位置角
    • 恒星:9100+ 星表,支持中英文名/HR 查询、自行修正、星座判定、视差角、升落
    • coord:黄道/赤道/地平/银道坐标变换、大气折射、大气质量、视差角、手动参数研究接口
    • formula:黑体辐射、会合周期、星等、望远镜极限、恒星物理、大气质量等独立公式
    • orbit:二体轨道传播、站心观测量、H-G 星等、相位几何、视双星位置角/角距
    • sundial:真/平太阳时、时角、水平/赤道/垂直日晷与平面日晷几何
    • lite/sun、lite/moon:轻量太阳/月球近似链路,面向资源受限环境,零堆分配

    文档与测试

    • README 重写,补充英文版,含可复制示例、输出对照、SVG 配图和精度说明
    • 新增 NASA GSFC、JPL Horizons、IMCCE 等外部基线回归测试
    • 新增语义回归测试,覆盖时区、天顶距、轻量链路、物理星历、沙罗周期等

    English

    This release adds eclipses, planetary events, stellar tools, generic orbit propagation, sundials, and lightweight computation chains, along with refreshed documentation and test baselines.

    Breaking change: Zenith now returns zenith distance

    Zenith functions previously returned altitude. They now return zenith distance (Zenith = 90° - Altitude). Affected packages: sun, moon, all seven planets, star, orbit, lite/sun, lite/moon, and their N
    variants.

    To migrate: replace Zenith() with Altitude() where altitude was expected; use Altitude() > 0 instead of Zenith() > 0 for horizon checks; remove any 90 - Zenith() workarounds.

    Added

    • Eclipses: global/local solar eclipses with central paths and partial footprints; global/local lunar eclipses; SVG output for both; NASA split-k and IAU single-k radius conventions; Saros metadata in
      results
    • Planets: conjunction, opposition, station, quadrature, and elongation events; apparent diameter, phase angle, illuminated fraction, bright-limb angle, apparent magnitude, orbital nodes, and physical
      ephemerides
    • Jupiter Galilean satellites: L1 ephemeris positions, transit/occultation/eclipse/shadow phenomena, contact-event search
    • Sun and Moon: solar P/B0/L0; lunar geocentric/topocentric libration, apsides, maximum declination, bright-limb angle
    • Stars: embedded 9100+ star catalog with name/HR lookup, proper motion, constellation identification, parallactic angle, rise/set
    • coord: ecliptic/equatorial/horizontal/Galactic transforms, refraction, airmass, parallactic angle, manual-parameter research helpers
    • formula: standalone blackbody, synodic period, magnitude, telescope, stellar physics, and airmass formulas
    • orbit: two-body propagation, topocentric observing quantities, H-G magnitude, phase geometry, visual-binary position angle/separation
    • sundial: true/mean solar time, hour angle, horizontal/equatorial/vertical dials, general planar-dial geometry
    • lite/sun, lite/moon: lightweight Sun/Moon approximation chains for resource-constrained environments, zero heap allocation

    Documentation and tests

    • Reworked README with an English translation, copyable examples, annotated output, SVG diagrams, and accuracy notes
    • Added regression baselines against NASA GSFC, JPL Horizons, and IMCCE
    • Added semantic regression tests covering time zones, zenith distance, lightweight chains, physical ephemerides, and Saros metadata
    Downloads
  • v0.0.8 Stable

    b612 released this 2026-02-20 12:13:36 +08:00 | 3 commits to master since this release

    • 优化公农历算法
    Downloads
  • v0.0.7 Stable

    b612 released this 2026-02-17 23:24:53 +08:00 | 4 commits to master since this release

    • 农历描述优化
    • 月升月落算法优化
    Downloads
  • v0.0.6 Stable

    b612 released this 2025-10-04 17:06:43 +08:00 | 7 commits to master since this release

    • 新增了中国古代历法
    Downloads
  • v0.0.5 Stable

    b612 released this 2025-09-08 11:00:47 +08:00 | 13 commits to master since this release

    • fix: 修正 sun.TrueBo 计算逻辑,改为调用 basic.HSunTrueBo,保证太阳视纬度正确

    • fix: 修正 basic/sun.go 内部方法 GetSunDownTime 为 GetSunSetTime,并同步相关调用和输出

    • fix: 测试用例同步修正,统一调用新方法和错误常量名

    • improve: 所有 DownTime/Down 方法统一重命名为 SetTime/Set,语义更一致

    • improve: 所有 ERR_XXX_NEVER_DOWN 错误常量统一重命名为 ERR_XXX_NEVER_SET,并增加 ERR_XXX_NEVER_DOWN 为兼容性别名

    • improve: 接口和错误命名更标准,便于维护和理解

    Downloads
  • v0.0.4 Stable

    b612 released this 2024-12-31 13:54:18 +08:00 | 18 commits to master since this release

    bug fix

    • 快速模式下,部分年份腊月十二显示为正月初一的问题
    Downloads
  • v0.0.3 Stable

    b612 released this 2024-12-31 10:27:27 +08:00 | 19 commits to master since this release

    Downloads
  • v0.0.2 Stable

    b612 released this 2024-03-31 16:27:04 +08:00 | 20 commits to master since this release

    Downloads