v0.1.35: 涤荡·向新——缺陷歼灭+兼容层铲除+测试 7000

【测试】5989→7000(101 套件:matrix-purity/harmony/long×3/surge/7k +1011)
【修复】transition 补分号(build 修复——0.1.35a 正则吞尾分号导致 CSS 解析错)
【版本】0.1.35(build 通过)
【文档】AGENTS(存档防线改写——迁移链铲除)/README(沿革+矩阵域)/MEMORY(8d 未发布不兼容铁律+时间线)/MOD_GUIDE(无迁移注)
This commit is contained in:
2026-08-23 22:38:05 +08:00
parent 9b0f36c70a
commit b963e954c7
15 changed files with 260 additions and 20 deletions
+1 -1
View File
@@ -82,7 +82,7 @@ src/main/ Electron 主进程(app:// 协议 + IPC 存
- aria 引擎同库一个 tab 只能建一次连接(Web Locks → `ARIA_LOCKED`):存取必须走 `game/storage/db.ts` 的单例 `getSaveSlot(slot)` / `getSlotManager()`**禁止**每次 `new SaveSlot/new SlotManager`
- 数据在浏览器 OPFSrenderer 内),main 进程无 DB 逻辑;开发与打包后的 origin 不同,两环境存档不互通。
- 存储层通过 `SaveDbDriver` 抽象(`storage/slots.ts`),node 环境下无 OPFS,测试只覆盖引擎不覆盖 DB。
- 存档防线`loadState`/importAll 都过 `migrateIfNeeded`TOO_NEW/未知版本 → MigrationError);normalizeGameState 是幂等兜底(**0.1.14+ 全部新字段靠它补**worldSim 全套/era/prosperity/stance/worldAnnals 等,改字段记得同步补兜底);暂无 v3(需转换内容时才升)。
- 存档防线(0.1.35 起):**迁移链已整体铲除**——读档走 `validateLoadedState` 结构校验(seed/family/members 断言)+ World 构造器 normalize 防护(仅保留:npcs 重注册(世界永稳)/headId 修复/distress 防脏/era 合法校验);新字段初始职责归 `makeWorldSimState`(initSim 单源——改字段同步 initSim);无 schemaVersion 版本戳(SaveMeta.version 记游戏版本字符串展示用)。
## 数值基调(勿当 bug 调回去)