world_snapshot 模块
世界状态快照模块(W-03):聚合世界(world)、场景(scene)、实体(entity)当前状态生成 快照,支持快照查询与恢复,恢复时联动 world 表状态(经 world 模块 set_world_mode 契约)。
功能
- 世界快照表
world_snapshot的 CRUD(create/get/list/update/delete) create_snapshot:聚合 world/scene/entity 当前状态写入snapshot_jsonrestore_snapshot:读取并校验快照 JSON,标记已恢复,联动 world 状态- 下拉接口:世界列表、快照类型、快照状态
数据表
world_snapshot(models/world_snapshot.json 四段式)- 编码字典:
snapshot_type(full/incremental)、snapshot_status(active/restored/invalid)
目录结构
world_snapshot/
├── world_snapshot/ # Python 包(init.py 实现 + __init__.py 导出)
├── wwwroot/ # index.ui / menu.ui / api/*.dspy
├── models/ # world_snapshot.json 表定义
├── json/ # world_snapshot.json CRUD 定义
├── init/ # data.json 编码字典种子
├── scripts/ # load_path.py RBAC 注册
├── skill/SKILL.md # 模块技能文档
├── pyproject.toml
├── build.sh # 四步安装(xls2ddl → ddl → crud ui → symlink)
└── README.md
集成
- 通过
load_world_snapshot()挂载到宿主应用(from world_snapshot.init import load_world_snapshot) - 库名经
ServerEnv().get_module_dbname('world_snapshot')获取,禁止硬编码 - 构建:
bash build.sh(安装 xls2ddl、生成 DDL、生成 CRUD UI、链接 wwwroot)
Description