Files
Genarrative/server-rs/README.md

2.8 KiB
Raw Blame History

server-rs 工作区占位说明

日期:2026-04-20

1. 目录用途

server-rs/ 是本项目新 Rust 后端的固定根目录,用于承载以下重写目标:

  1. Axum HTTP / SSE 边界层
  2. SpacetimeDB 状态机模块
  3. 阿里云 OSS 资产接入与应用层编排

该目录固定放在仓库根目录,与 server-node/src/docs/ 同级。

2. 当前阶段说明

当前目录已经完成以下十一项初始化:

  1. 为新后端预留正式目录并把路径固定到仓库结构中。
  2. 创建虚拟 workspace Cargo.toml,后续 package 会逐项挂入。
  3. 明确内部采用“apps/* 主工程 + packages/* 独立模块包”的多 package 组织方式。
  4. 创建 apps/api-server/ 目录占位,固定 Axum 主工程落位。
  5. 创建 apps/spacetime-module/ 目录占位,固定 SpacetimeDB 主工程落位。
  6. 创建 packages/module-auth/ 目录占位,固定鉴权模块 package 落位。
  7. 创建 packages/module-runtime/ 目录占位,固定运行时状态基座模块 package 落位。
  8. 创建 packages/module-story/ 目录占位,固定故事主循环模块 package 落位。
  9. 创建 packages/module-combat/ 目录占位,固定战斗规则模块 package 落位。
  10. 创建 packages/module-inventory/ 目录占位,固定背包与物品变更模块 package 落位。
  11. 创建 packages/module-npc/ 目录占位,固定 NPC 状态与互动模块 package 落位。

后续任务会继续在本目录内按顺序补齐:

  1. packages/module-progression
  2. packages/module-quest
  3. packages/module-runtime-item
  4. packages/module-custom-world
  5. packages/module-assets
  6. packages/module-editor
  7. packages/module-ai
  8. packages/shared-contracts
  9. packages/shared-kernel
  10. packages/platform-auth
  11. packages/platform-oss
  12. packages/platform-llm
  13. packages/spacetime-client
  14. packages/tests-support
  15. scripts/*

3. 已冻结边界

本目录后续落地时必须继续遵守 M0 已冻结的边界:

  1. 迁移期保留 server-node/,不提前删除。
  2. 前端在 M0 ~ M6 期间只访问 Axum不直连 SpacetimeDB。
  3. 外部副作用统一收口在 Axum / package 内应用层 / infra。
  4. apps/api-server 只组合与暴露协议,不直接吞并业务模块实现。
  5. apps/spacetime-module 只负责汇总各模块 package 的表、reducer、view。

4. 关联文档

  1. ../docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md
  2. ../backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md
  3. ../backend-rewrite-tasklist/01_M0_M2_FOUNDATION_AND_AUTH.md