be6f2f5fe7fa8f4a0de0b7fca6cd01b8048aa791
【事件闸(机制重锤)】 - fire(w,id,priority):单闸+优先级——高优(raid/渡劫/大比)顶替被占者、被顶替入 eventQueue 下月兑现不丢失;普通被占返回 false 调用方冷却(raid 被吞也写 CD) - pending 唯一写入入口:渡劫/破境丹改走 fire(防覆盖丢弃);名宿传薪年锚 flag(防同年重复 12 次) - applyEventChoice 前置校验 pendingEvent===id(陈旧 Modal 二次结算防线) 【世界模型四修(真·活世界)】 - era 延续档:flow 权重和<1(留白=续任)——盛世能撑 30 年而非固定 25 - 潮汐供给符号修正:灵涨万物丰(原实现反了)+tide 双界 clamp - driftMarket 弱锚定:rebalance 0.1→0.025——供需/era/灾年真实撬动价格(原五池被锚死±5%) - 断供/池底单常量 poolFloorPct=0.35(消灭禁买暗雷带) 【知识防线(审计虫洞修复)】 - 指纹扩展:era/stance/prosperity/relationsWithOthers/calamityLeft/pendingEvent 全入 hash - 第二金钟罩 GOLDEN_RESOLVED:自动 resolve 长跑锁“现实”世界(原指纹锁的只是“事件流冻结”世界) 【性能与存储】 - 存档节流(疾12/常6/缓4,手动即时)+ saveChronicle O(N)→O(1) 单查增量写(2160 月档告别每 tick 数千 OPFS) - battles≤220/chronicle≤520 截断(stringify 线性膨胀止血);startNewGame/openState 停 timer 摘旧 bus 【杂项】actDirect 对齐 ACT_CATALOG 全 24 项;about 三版本统一 0.1.20;kernel.bus 死总线删;seed 改 RngHub.rollSeed;normalize 补 eraStartYear/overflux/distress;WorldPanel 买卖条件反转修复;音效与视效同闸 【测试】1011 全绿(42 套件):audit-0.1.20 9 例(事件闸/传薪/二次结算/era延续/潮汐符号/断供一致/弱锚定/指纹敏感)
仙途家族志 · Chronicle of the Immortal Clan
修仙 × 家族 × 经营 × 战斗的家族模拟器(Electron + React + TypeScript + MetonaSqlark)。
一座庄园、一家修士、四邻势力,随年月流转:族人修炼突破、建筑产出、探秘寻宝、婚丧嫁娶; 仇家犯境则结阵应战;百年之际,望气定鼎,春秋原上写下一卷族史。
快速开始
npm install # 依赖(含 git.metona.cn 私有 registry,token 在用户级 ~/.npmrc)
npm install-scripts approve electron esbuild # npm12 首装时必须(Electron 二进制)
npm run dev # 开发模式(热更新)
npm run verify # 发布验收哨兵:vitest + typecheck + build
npm run verify:package # 附打包预览(electron-builder)
npm run package # 直接打包(Windows 需在 Windows 侧执行)
npm test # 仅测试(923+ 用例)
架构一览
src/renderer/game/ 纯 TS 引擎(无 React/DOM,可被 vitest 直测)
core/ rng(RngHub) · clock(GameClock·7相位) · plugin · legacy · report · yearaxis · biography · genealogy
data/ balance 表 + DataPackRegistry(数据包可覆写)
engine/ world · clocks(注册) · pluginManager(∃插件管线) · capabilities(12 能力卡) · api(GameFacade act/query/subscribe/about)
systems/(生产·寿元·修炼·任务·事件·外交·婚育·渡劫·大比·寄读)
storage/ db(MetonaSqlark 单例) · slots(存档槽+快照) · migrate(版本迁移链 v1→v2)
src/renderer/ui/ React + zustand(store 持 GameFacade;面板订阅 revision 刷新)
src/main/ Electron 主进程(app:// 协议 + IPC 存档导出/导入)
设计文档见 AGENTS.md(环境坑/架构红线/方言陷阱/金钟罩约定)。
守护机制
- 金钟罩:tests/clock.test.ts 三枚固定 seed × 560 月指纹常驻(0.1.8 基线:9af71ecb/63cede89/ebfec4a4);有意变更时序需受控更新并注明。
- 插件化:万物皆是插件(系统/数据包/事件池),示例见 tests/helpers/examplePlugin.ts。
- 可回放:种子随机(sfc32)+ 闰档快照 + 回档时间轴。
打包产物
npm run package→ out/(构建)+ release/(安装包)- 图标资源 resources/icon.png|ico —— electron-builder 自动使用
- 注意:WSL/Linux 交叉打 win 包可行但未签名,正规发布请用 Windows 侧重跑
版本沿革(0.1.0 → 0.1.9)
| 版本 | 主题 |
|---|---|
| 0.1.0 | 核心循环(修仙/家族/经营/战斗)完备可玩 |
| 0.1.1 | 养成闭环+回档+叙事(指婚/装备/祭祖/战报匣/年度纸笺) |
| 0.1.2 | 宗族气韵(职事/悟道/谱系/碑录/庆典/飞升/合音效) |
| 0.1.3 | 深度审计(旧档兼容/血缘/联姻/远征修复) |
| 0.1.4 | 百年定局(终局/大比/寄读/春秋原) |
| 0.1.5 | 人物志(志向/渡劫/列传/契合/回声) |
| 0.1.6 | 时轮与造化(GameClock/RngHub/时节/年轴/保护) |
| 0.1.7 | 仙门之钥(门面/能力注册表/数据包/开发者面板) |
| 0.1.8 | 万物皆是插件 + 全应用审计(60+ 缺陷歼灭) |
| 0.1.9 | 百年报告 + 存档迁移 v2 + 战斗阵型 + 冬祷 + 发布哨兵 |
| 0.1.10 | 长线决断(数值重建:修炼提速/寿元放宽/渡劫修复 + 拍卖/传薪/护族) |
| 0.1.11 | 全源码审计缺陷歼灭 + UX 打磨(警讯徽章/首启引导/格式化) |
Languages
TypeScript
95.4%
CSS
4.1%
JavaScript
0.5%