diff --git a/backend-rewrite-tasklist/01_M0_M2_FOUNDATION_AND_AUTH.md b/backend-rewrite-tasklist/01_M0_M2_FOUNDATION_AND_AUTH.md index e371ef98..b066d9b9 100644 --- a/backend-rewrite-tasklist/01_M0_M2_FOUNDATION_AND_AUTH.md +++ b/backend-rewrite-tasklist/01_M0_M2_FOUNDATION_AND_AUTH.md @@ -47,7 +47,8 @@ 交付物:[../server-rs/Cargo.toml](../server-rs/Cargo.toml) - [x] 创建 `apps/api-server` 交付物:[../server-rs/apps/api-server/README.md](../server-rs/apps/api-server/README.md) -- [ ] 创建 `apps/spacetime-module` +- [x] 创建 `apps/spacetime-module` + 交付物:[../server-rs/apps/spacetime-module/README.md](../server-rs/apps/spacetime-module/README.md) - [ ] 创建 `packages/module-auth` - [ ] 创建 `packages/module-runtime` - [ ] 创建 `packages/module-story` diff --git a/server-rs/README.md b/server-rs/README.md index 6db2462f..a3f48b3b 100644 --- a/server-rs/README.md +++ b/server-rs/README.md @@ -14,37 +14,37 @@ ## 2. 当前阶段说明 -当前目录已经完成以下四项初始化: +当前目录已经完成以下五项初始化: 1. 为新后端预留正式目录并把路径固定到仓库结构中。 2. 创建虚拟 workspace `Cargo.toml`,后续 package 会逐项挂入。 3. 明确内部采用“`apps/*` 主工程 + `packages/*` 独立模块包”的多 package 组织方式。 4. 创建 `apps/api-server/` 目录占位,固定 Axum 主工程落位。 +5. 创建 `apps/spacetime-module/` 目录占位,固定 SpacetimeDB 主工程落位。 后续任务会继续在本目录内按顺序补齐: -1. `apps/spacetime-module` -2. `packages/module-auth` -3. `packages/module-runtime` -4. `packages/module-story` -5. `packages/module-combat` -6. `packages/module-inventory` -7. `packages/module-npc` -8. `packages/module-progression` -9. `packages/module-quest` -10. `packages/module-runtime-item` -11. `packages/module-custom-world` -12. `packages/module-assets` -13. `packages/module-editor` -14. `packages/module-ai` -15. `packages/shared-contracts` -16. `packages/shared-kernel` -17. `packages/platform-auth` -18. `packages/platform-oss` -19. `packages/platform-llm` -20. `packages/spacetime-client` -21. `packages/tests-support` -22. `scripts/*` +1. `packages/module-auth` +2. `packages/module-runtime` +3. `packages/module-story` +4. `packages/module-combat` +5. `packages/module-inventory` +6. `packages/module-npc` +7. `packages/module-progression` +8. `packages/module-quest` +9. `packages/module-runtime-item` +10. `packages/module-custom-world` +11. `packages/module-assets` +12. `packages/module-editor` +13. `packages/module-ai` +14. `packages/shared-contracts` +15. `packages/shared-kernel` +16. `packages/platform-auth` +17. `packages/platform-oss` +18. `packages/platform-llm` +19. `packages/spacetime-client` +20. `packages/tests-support` +21. `scripts/*` ## 3. 已冻结边界 diff --git a/server-rs/apps/spacetime-module/README.md b/server-rs/apps/spacetime-module/README.md new file mode 100644 index 00000000..52d836cc --- /dev/null +++ b/server-rs/apps/spacetime-module/README.md @@ -0,0 +1,29 @@ +# spacetime-module 主工程 package 占位说明 + +日期:`2026-04-20` + +## 1. package 职责 + +`spacetime-module` 是新后端的 SpacetimeDB 主工程 package,后续负责: + +1. 聚合各独立模块 package 的表定义 +2. 聚合各独立模块 package 的 reducer +3. 聚合各独立模块 package 的 view / 读模型 +4. 生成可发布的 SpacetimeDB wasm 模块 + +## 2. 当前阶段说明 + +当前提交仅完成目录占位,不提前进入具体 schema 与 reducer 实现。 + +后续与本 package 直接相关的任务包括: + +1. 建立模块聚合入口 +2. 设计表、reducer、view 的聚合方式 +3. 接入身份 claims 透传 +4. 接入本地开发与发布脚本 + +## 3. 边界约束 + +1. `spacetime-module` 只聚合状态模型,不直接承接 HTTP、Cookie、Header、OSS、短信、微信、LLM 等外部副作用。 +2. 每个业务模块优先在自己的 `packages/module-*` 中定义状态与规则,再由主工程聚合。 +3. 主工程不重新吞并各模块实现细节,避免回到单大包结构。