da4fb9f63571bc5c788743aef092870754ab48e7
【P0 批(7 项,实证驱动)】
- P0-1 世界词库池无回滚(真实漂移实证)→ WorldGenPools 来源追踪 + removePool 精确回滚
+ MOD uninstall 自动摘除(池/灾因/配方/数值四类全局注册——P2-3 一并根治)
- P0-2 新贵 def 不落档(僵尸实证:power 恒 120 零演化)→ 生成即写 worldGen.npcs
+ normalize 占位 def 双保险 + 新贵 id 掺 seed 指纹(P1-10 防跨档碰撞)
- P0-3 校验死代码化 → installModText 装前 modPreflight(冲突拒+警告 toast)
- P0-4 MOD 读档静默消失 → state.pluginsMissing 收集提示(与 MOD_GUIDE 承诺对齐)
- P0-5 救济按钮乌龙(哈希序首个+直改 state)→ World.reliefCalamity(景气最低+双检)
- P0-6 天下快讯永久冻结(memo 依赖恒 120 length)→ 去 memo 每次 reverse
- P0-7 MOD 导出单行道 → modParse 识别 {app:'cotymod',bundle} 逐包递归(roundtrip 闭环)
【P1 批】
- P1-8 指纹补盲(worldGen/sagaAnnals/distress/declineYears 入 hash——0.1.27 成果真实锁定)+ 双基线重算
- P1-9 重放同步 worldGen.npcs(自捕获);P1-11 worldNum 字段接线(install/uninstall 复位)
- P1-13 落盘兜底(beforeunload/visibilitychange 突发 save,堵 12-tick 节流窗口)
- P1-14 onGameOver 停 timer + IPC mods 路径白名单(扩展名正则防穿越)
- P1-15 DataPack 摘除 npcs(覆写死路删除,与五口宣言对齐);P1-4 techniques 双源统一(techniquePrice 读包)
【P2 扫尾】tauntCD 清理/sagaAnnals 上限 40/worldGenMods 落空写入/validateMod 深度校验随 P0-3 提交
【测试】69 套件 2008 全绿(audit-0.1.28 八例:池回滚/僵尸/preflight/bundle/freeze/指纹敏感/worldNum/救济);
金钟罩 0.1.28 基线重算(指纹补盲+受控时序变更);build 通过
仙途家族志 · Chronicle of the Immortal Clan
修仙 × 家族 × 经营 × 战斗的家族模拟器(Electron + React + TypeScript + MetonaSqlark)。
一座庄园、一家修士、四邻势力,随年月流转:族人修炼突破、建筑产出、探秘寻宝、婚丧嫁娶; 仇家犯境则结阵应战;百年之际,望气定鼎,春秋原上写下一卷族史。 世界也在自演进:市场有真库存与供需呼吸,NPC 有战略姿态与恩怨网,时代有盛世乱世的大势流转——天下兴衰与家族命运互为因果。
快速开始
npm install # 依赖(含 git.metona.cn 私有 registry,token 在用户级 ~/.npmrc)
npm install-scripts approve electron esbuild # npm12 首装时必须(Electron 二进制)
npm run dev # 开发模式(热更新)
npm test # 引擎测试(68 套件 / 2000 用例,纯 Node 无 GUI)
npm run build # 产物到 out/
npm run package # 打包(Windows 需在 Windows 侧执行)
端到端冒烟(渲染 + OPFS + 开局推进 + 可选截图):见 AGENTS.md「命令」。
架构一览
src/renderer/game/ 纯 TS 引擎(无 React/DOM,vitest 直测;单线程,实测 0.05ms/tick)
engine/GameEngine.ts 唯一门面:advance / restore / engineFromSnapshot / about / resolvePending
engine/kernel/ Kernel(Clock+Rng 三合一)+ clock / rng(RngHub) / plugin / guide / urgency...
engine/runtime/ World(大对象+normalize+bus 转发)· clocks(时轮注册)· ApiFacade(GameFacade)
Systems/(生产/修炼/任务/事件/外交/婚育/渡劫/大比/寿元/战斗)
capabilities(12 能力卡)· pluginManager(插件管线)
engine/sim/ WorldSim(世界自进化)· worldsim-data(数值唯一权威)· Market(行情/买卖)
engine/narrative/ 族谱/传记/定鼎/年轴/百年报告
data/ balance 表 + DataPackRegistry(PILL_RECIPES / FORGE_RECIPES / ERA_CONF)
storage/ db(MetonaSqlark 单例) · slots(槽+快照) · migrate(CURRENT_SCHEMA=2,normalize 即迁移)
types/domain.ts 全量领域类型(改状态结构先看它)
src/renderer/ui/ React + zustand(store.ts 主状态;面板按 tab 挂载;LogFeed 精订阅)
src/main/ Electron 主进程(app:// 协议 + IPC 存档导出/导入)
设计文档见 AGENTS.md(环境坑 / 架构红线 / 引擎纪律 / 金钟罩双基线 / 修改纪律);
MOD 作者守则见 docs/MOD_GUIDE.md(规范:命名/schema/五数据口/安全红线)。
守护机制
- 双金钟罩:
tests/clock.test.ts的GOLDEN(直调冻结世界)+GOLDEN_RESOLVED(自动 resolve 长跑"现实"世界),各 3 固定 seed × 560/1200/2160 月(47/100/180 年)= 18 指纹;指纹含全世界轴(era/stance/prosperity/关系网/事件闸);0.1.21 基线。有意变更时序需受控更新并注明。 - 事件闸:pending 唯一入口
fire(w,id,priority)——高优(raid/渡劫/大比)可顶替被占者,被顶替者入队下月兑现;applyEventChoice前置校验防陈旧 Modal 二次结算。 - 插件化:万物皆是插件(系统/数据包/事件池),三核心插件 protected 常驻;示例见 tests/helpers/examplePlugin.ts。
- 可回放:种子随机(sfc32,引擎域零 Math.random)+ 快照回放保真(restore 重建内核+回置 rng)。
- 测试规模:68 套件 / 2000 例(18 个矩阵域:随机序列/世界生成/市场实体化/事件闸/数据表全量/插件 MOD 组合/省级矩阵等——语义真实,无刷水)。
打包产物
npm run package→ out/(构建)+ release/(安装包)- 图标资源 resources/icon.png|ico —— electron-builder 自动使用
- 注意:WSL/Linux 交叉打 win 包可行但未签名,正规发布请用 Windows 侧重跑
版本沿革(0.1.0 → 0.1.21)
| 版本 | 主题 |
|---|---|
| 0.1.0-0.1.11 | 核心循环 → 插件架构 → 审计三连(详见 docs/PROJECT_MEMORY.md) |
| 0.1.12 | 金碧山河(SVG 素材 + 动效系统 + 舞美重装) |
| 0.1.13 | 交付与回档(工艺/界面修复 + UI 存储直连回档) |
| 0.1.14 | 大重构:GameEngine 门面 + Kernel 三合一 + WorldSim 世界自进化(五大闭环) |
| 0.1.15 | 深度审计加固(7 P0 + 20+ P1 歼灭;restore 双注册/引擎锁死等) |
| 0.1.16 | 资源闭环 × 世情入味(修为耗草/炼丹概率化/铸器/灵脉收益/NPC 战力/灾变落效) |
| 0.1.17 | 天下为市——市场实体化(真库存/供需呼吸/NPC 上桌/玩家回写)+ 战争伤骨 + 关系网 |
| 0.1.18 | 时代绘卷(世纪弧 era/NPC 景气/蝴蝶效应/十年鉴)+ 特效入引擎(onFx 语义出口) |
| 0.1.19 | 八方风雨(NPC 战略姿态/超卖潮/盟约连坐/干预天下)+ 孤立系统归并(FxGate/音效/兜底) |
| 0.1.20 | 万世无谬(第二轮全量审计:事件闸优先级/era 延续/潮汐符号/弱锚定/双金钟罩) |
| 0.1.21 | 大势流转(线程定论 0.05ms、era↔景气双向闭环、世界史表、渲染管线修复) |
| 0.1.22 | 灯下春秋(Modal 全走 body Portal / 年报不打断自动速度 / 姓氏假功能修复) |
| 0.1.23 | 生灭千秋(家族覆灭/新贵补位、秘境回池、WorldSnapshot、插件持久化/双闸/自动回滚) |
| 0.1.24 | 寰宇初构(世界种子生成器:NPC 4~8 家随机/开局恩怨/era/市场偏移;插件的时轮锚点/模板注入) |
| 0.1.25 | 乾坤一统(MOD 系统首版:userData/mods 扫描/解析/安装/持久化 + worldGen 存档永稳修复) |
| 0.1.26 | 墨规清辉(MOD 规范范式:MOD_GUIDE/validateMod/灾因注册表 + 页面文本提亮可读性) |
| 0.1.27 | 活水长流(生灭可达化:180 年实测驱动——门槛/era 调制增长/顶峰衰 + 修为↔市场回环 + 世鉴 50/100 年 + 测试 2000) |
详见:docs/PROJECT_MEMORY.md(设计哲学与每个迭代的"为什么")。
Languages
TypeScript
95.4%
CSS
4.1%
JavaScript
0.5%