fix: sync rust api-server runtime and bindings
This commit is contained in:
@@ -55,6 +55,76 @@
|
||||
- `cancel_ai_task_and_return`
|
||||
18. `turn_in_quest` 与 `resolve_combat_action(Victory)` 到 `player_progression / chapter_progression` 的最小经验联动
|
||||
|
||||
## 2.1 `src/lib.rs` 拆分路由规则
|
||||
|
||||
从 `2026-04-23` 起,`src/lib.rs` 不再允许继续承载具体业务域的 table / reducer / procedure / tx helper。
|
||||
|
||||
根入口后续只允许保留:
|
||||
|
||||
1. `use` 聚合
|
||||
2. `mod` 声明
|
||||
3. 少量跨域共享 helper
|
||||
4. 迁移过渡期测试
|
||||
|
||||
根入口与子模块的导入导出规则同步冻结为:
|
||||
|
||||
1. `src/lib.rs` 对外统一优先使用 `pub use xxx::*;` 重新导出模块内容
|
||||
2. 已拆业务模块内部统一优先使用 `use crate::*;` 复用主入口已聚合的类型与函数
|
||||
3. 只有当 `use crate::*;` 无法覆盖或会引入明显歧义时,才补局部显式 `use`
|
||||
4. 新增业务域内容禁止为了堆 `use` 列表再回写到 `src/lib.rs`
|
||||
|
||||
具体内容必须落到下面的模块:
|
||||
|
||||
1. `src/entry.rs`
|
||||
- SpacetimeDB `init` 入口
|
||||
2. `src/domain_types.rs`
|
||||
- 跨域共享的 SpacetimeDB 类型
|
||||
3. `src/asset_metadata/`
|
||||
- 资产对象与资产绑定真相表
|
||||
4. `src/big_fish/`
|
||||
- Big Fish 创作与运行态
|
||||
5. `src/runtime/`
|
||||
- runtime setting / snapshot / browse history / profile 投影
|
||||
6. `src/gameplay/`
|
||||
- `story / combat / inventory / npc / quest / runtime_item / progression`
|
||||
7. `src/custom_world/`
|
||||
- custom world profile / session / agent / publishing / gallery / works
|
||||
8. `src/ai/`
|
||||
- ai task / stage / chunk / result reference
|
||||
9. `src/puzzle.rs`
|
||||
- 拼图玩法当前仍为单文件域模块
|
||||
|
||||
### 已冻结的二级模块落位点
|
||||
|
||||
1. `src/asset_metadata/objects.rs`
|
||||
2. `src/asset_metadata/bindings.rs`
|
||||
3. `src/big_fish/tables.rs`
|
||||
4. `src/big_fish/session.rs`
|
||||
5. `src/big_fish/assets.rs`
|
||||
6. `src/big_fish/runtime.rs`
|
||||
7. `src/runtime/settings.rs`
|
||||
8. `src/runtime/snapshots.rs`
|
||||
9. `src/runtime/browse_history.rs`
|
||||
10. `src/runtime/profile.rs`
|
||||
11. `src/gameplay/combat.rs`
|
||||
12. `src/gameplay/inventory.rs`
|
||||
13. `src/gameplay/npc.rs`
|
||||
14. `src/gameplay/progression.rs`
|
||||
15. `src/gameplay/quest.rs`
|
||||
16. `src/gameplay/runtime_item.rs`
|
||||
17. `src/gameplay/story.rs`
|
||||
18. `src/custom_world/profile.rs`
|
||||
19. `src/custom_world/session.rs`
|
||||
20. `src/custom_world/agent.rs`
|
||||
21. `src/custom_world/publishing.rs`
|
||||
22. `src/custom_world/gallery.rs`
|
||||
23. `src/custom_world/works.rs`
|
||||
24. `src/ai/tasks.rs`
|
||||
25. `src/ai/stages.rs`
|
||||
26. `src/ai/snapshots.rs`
|
||||
|
||||
后续如果新增 SpacetimeDB 表、reducer、procedure 或同域 helper,必须先判断属于哪个一级模块与二级落位点,再写入对应文件;禁止直接追加到 `src/lib.rs`。
|
||||
|
||||
`asset_object` 的详细设计见:
|
||||
|
||||
1. [../../../docs/technical/SPACETIMEDB_ASSET_OBJECT_TABLE_DESIGN_2026-04-21.md](../../../docs/technical/SPACETIMEDB_ASSET_OBJECT_TABLE_DESIGN_2026-04-21.md)
|
||||
|
||||
Reference in New Issue
Block a user