产物与轨道库
catalog/ 目录
v4.0.0 起,界面计算产物统一持久化到 e2m2e 轨道库(catalog),不再按工具
分目录落 JSON/NPZ 文件。桌面端库目录固定在用户配置目录下的 catalog/:
Windows 为 %APPDATA%/cislunar-code/catalog,Linux 为
$XDG_CONFIG_HOME(通常 ~/.config)下的 cislunar-code/catalog,
与情景文件、助手会话同级;启动时由 Rust 壳显式注入,不随工作目录漂移。
用户在环境里预设 $E2M2E_CATALOG_DIR 时以预设为准。
产物自动入库:族生成成功后即成为库记录(多维分类:族类型、平动点、
Jacobi 区间、振幅区间;谱系指针记录上下游因果链)。重启后项目树经
catalog_query 恢复清单,单条记录经 catalog_get 懒加载轨迹。
基线数据集(预置族)
e2m2e 5.9.5 起,基线 CR3BP 族(13 个族、数百条成员记录)不再随 Python 包 分发,改为 GitHub Release 资产显式导入。CODE 的安装包把它随包分发:安装包 内带一份基线 zip,应用首次启动时在轨道库已配置的前提下自动解压导入,导入 条数写进应用日志。
导入是幂等的,按族对位基线版本:库中已有同版本基线族时跳过(用户对基线成员 的增删得到尊重),基线版本变化时整族替换为新的基线成员。因此升级安装包只会 把基线族换到新版本,不会覆盖或重复用户自己的记录。
开发/脚本链路没有那一步,用脚本手动导入同一份 zip:
# 从 Release 下载默认基线包并导入(库目录取 $E2M2E_CATALOG_DIR,
# 未设置时用用户配置目录下的 catalog/)
uv run python scripts/import_baseline.py --download
# 或导入本地已有的 zip
uv run python scripts/import_baseline.py --zip packaging/baseline/baseline-cr3bp-5.9.0.zip
导入失败(zip 损坏、数据集残缺)不会阻断应用启动:只记警告跳过,用户自己的 记录与库的可用性不受影响。
库即数据格式
轨道库是 e2m2e catalog 格式(见 e2m2e 文档):
记录按多维分类索引,支持组合过滤查询;
谱系指针(上游记录 id)使设计 → 保持等链式产物的因果关系重启不断;
库目录可整体拷贝、打包导出,亦可被 e2m2e CLI 或其他宿主直接打开。
output/ 目录(遗留)
output/ 仅保留两类内容:转移轨道遗留分区(output/transfer/,catalog
分类体系之外的过渡期产物)与脚本化工作流的直接输出。v3.2.3 及更早版本按
工具分目录 + JSON/NPZ 双文件管理的产物不迁移(ADR 0008),需要时重算。