09cbad64490e7cd3ec52481a4f9966b4e232b68d
新增测试矩阵(12 文件 / 161 cases): - rng 12 / data 18 / pcgen+cultivation 20 / economy 12 / combat+missions 24 - marriage+diplomacy 13 / events 12 / world+lifecycle 8(含镜像一致)/ save 4+5 / audit 8 审计带出并修复的真实缺陷: 1. Rng.pick 空数组未报错(防空白数组进而崩溃难查) 2. combatPowerOf 未应用功法悟道品阶战力加成(0.1.2 设计缺口) 3. 重伤者即使不代表伤状态仍按满速修炼(health 进修炼公式) 4. 寡妇/鳏夫无法再婚:候选列表放着人执行层却拒婚(spouseId 死旧契约) 5. isWidowed 参数契约陷阱:传 id 静默 false(升级接受 Character|Id 双签名)
仙途家族志 · Chronicle of the Immortal Clan
修仙 × 家族 × 经营 × 战斗的家族模拟器 0.1.0。
玩法
一座庄园、一家修士、四邻势力,随年月流转:族人修炼突破、建筑产出、探秘寻宝、婚丧嫁娶; 仇家犯境则结阵应战;史书自动记下百年兴衰 —— 玩家扮演「家族意志」,延续香火于仙途。
开发
npm install # 依赖(含私有 registry:git.metona.cn)
npm run dev # 开发模式(热更新)
npm test # 引擎单元测试(vitest)
npm run typecheck # 类型检查
npm run build # 构建 out/
npm run package # 打包桌面安装包(electron-builder)
冒烟(主进程渲染 + OPFS 数据库就绪检查):
npm run build && SMOKE_TEST=1 npx electron out/main/index.js --no-sandbox
技术栈
- Electron + electron-vite + React + TypeScript
- 数据库:@metona-team/metona-sqlark 0.7.4(aria 引擎 + OPFS),渲染进程内持久化
- 引擎:纯 TypeScript(无 UI 依赖),种子随机数(sfc32),确定性可回放
- 存储:每个存档槽一个 SQLark 库(快照滚动 12 份 + 编年史表),JSON 导出导入
存档位置
OPFS 数据位于 Electron userData 目录下数据库文件(aria 引擎 WAL/SSTable)。 备份与迁移请用游戏内「设置 → 导出/导入」。
已知限制(0.1.0)
- 单机单窗口;MetonaSqlark aria 引擎的多标签页锁不构成影响
- 战斗为自动结算战报,不做手动回合操作
- 目前仅中文本地化
Languages
TypeScript
95.4%
CSS
4.1%
JavaScript
0.5%