
开发中
ArcaLuna 是一款塔罗与占星应用,把早晨需要看的内容放进一个“今天”屏幕:每日一牌、对本命盘的主要行运,以及月相。天文计算由 iPhone 和 Android 共用的 Kotlin Multiplatform 核心完成,界面则在各平台使用原生技术:iOS 用 SwiftUI,Android 用 Jetpack Compose。核心的精度已在 50 张基准星盘上与 Swiss Ephemeris 对照验证。出生数据保存在设备上,没有账号。支持五种语言。
/// 核心功能
- “今天”屏幕:每日一牌、对本命盘的主要行运和月相
- 一个 Kotlin Multiplatform 核心为 iPhone 和 Android 计算行星、宫位、相位和牌阵
- 精度与 Swiss Ephemeris 对照:50 张基准星盘,行星误差不超过 0.0051°
- 各平台原生界面:iPhone 和 iPad 用 SwiftUI,Android 用 Jetpack Compose
- 本命盘支持整宫制和普拉西度宫制;没有出生时间时不计算宫位和上升点,并说明原因
- 三套原创 78 张牌组,以及免费的 1909 年经典韦特–史密斯牌
- 出生数据保存在设备上:没有账号,服务器上没有副本
- 五种语言:应用和网站的文案来自同一个源
/// 截图
关于项目
ArcaLuna 把塔罗和占星放进同一个早晨。“今天”屏幕上有三样东西:每日一牌、对本命盘的主要行运,以及月相。一分钟就能看到今天对自己重要的事,而且“今天”屏幕免费。
这是工作室第一个跨平台项目:iPhone、iPad 和 Android 应用与网站 arcaluna.pro 并行开发。应用仍在开发中,将上架 App Store 和 Google Play。
一个核心,原生界面
所有天文计算和逻辑都在共享的 Kotlin Multiplatform 模块中:星历、宫位、相位、合盘、牌阵、内容模型和日志。iOS 以 XCFramework 形式使用核心,Android 则作为普通模块引用。
界面没有共享。iPhone 和 iPad 使用 SwiftUI;Android 使用 Jetpack Compose,配合 Material 3 和适配折叠屏的自适应布局。我们评估过用 Compose Multiplatform 共享界面,但按估算会让开发周期延长 30–50%,因此没有采用。
可以验证的精度
核心基于 astronomy-engine,已移入 Kotlin Multiplatform 的共享代码;宫位、相位和月交点另行实现。基准是 Swiss Ephemeris:50 张本命盘,涵盖赤道、极圈内纬度、南半球、1970 年以前的日期以及夏令时切换。同一组测试数据在 JVM、Android 和 iOS 模拟器上运行:
- 行星:误差不超过 0.0051°(最大的是海王星);
- 上升点:0.0001°,普拉西度宫头:0.0001°;
- 逆行判断:500 例全部一致,月相误差在 0.7 分钟以内。
纬度超过 66° 时普拉西度制无法定义,应用会切换到整宫制并加以提示。没有出生时间时,不计算上升点和宫位。
隐私
没有账号。出生数据、牌阵和日志都保存在设备上,服务器上没有副本。设置中可以把全部数据导出为 JSON,也可以彻底删除。为合盘输入的朋友数据同样留在设备上,不会被分享。