3.3 KiB
3.3 KiB
module-progression 成长与章节推进模块 crate 说明
日期:2026-04-30
1. crate 职责
module-progression 是成长与章节推进模块 crate,当前与后续负责:
player_progression、chapter_progression的领域快照与校验规则。- 等级经验曲线、同级参考强度、敌对战斗生命值与经验掉落的统一数学基线。
- 章节经验预算、章节实际记账与章节自动定级的纯领域 helper。
- 与
crates/spacetime-module的成长真相表、reducer、procedure 聚合对接。
2. 当前阶段说明
当前阶段已完成 DDD 物理拆分收口,已经不再是“真实逻辑集中在 lib.rs、分层文件只占位”的状态:
src/domain.rs承载LevelBenchmark、PlayerProgressionSnapshot、ChapterProgressionSnapshot、RuntimeEntityLevelProfile等成长领域类型和值对象。src/commands.rs承载玩家成长查询/授予经验、章节预算、章节账本和章节自动定级输入。src/application.rs固化与既有 Node 侧一致的经验曲线、参考强度曲线、章节 pseudo level 曲线、敌对经验/生命值 fallback 和章节账本应用规则。src/events.rs承载经验授予、章节账本应用和自动定级解析等领域事件。src/errors.rs承载成长字段错误与中文错误文案。src/lib.rs只保留模块声明和公开导出,继续保持module_progression::*公开 API。spacetime-module已把turn_in_quest与resolve_combat_action(Victory)接到player_progression / chapter_progression最小经验结算链。
当前这轮刻意未做的范围:
- 还没有把
custom-world章节蓝图编译直接迁进 Rust。 - 还没有把
repeatPenalty、超预算衰减和完整章节偏差审计表独立拆出。 - 还没有在 crate 内直接承接 HTTP、Axum、LLM 或 OSS 副作用。
3. 当前已冻结关联文档
- ../../../docs/design/LEVEL_PROGRESS_AND_CHAPTER_NPC_AUTO_SCALING_DESIGN_2026-04-20.md
- ../../../docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md
- ../../../docs/technical/M4_MODULE_PROGRESSION_SPACETIMEDB_BASELINE_2026-04-21.md
- ../../../docs/technical/M4_PROGRESSION_QUEST_COMBAT_INTEGRATION_2026-04-21.md
- ../../../docs/technical/SERVER_RS_DDD_WP_RPG_PROGRESSION_DOMAIN_SPLIT_2026-04-30.md
4. 边界约束
module-progression保持纯领域规则与状态建模,不直接承接 HTTP、JWT、OSS、LLM 或本地文件副作用。- 等级、经验、章节预算、自动定级必须以本 crate 的规则为唯一数学基线,不能再次散落回 route handler 或前端临时推导。
player_progression与chapter_progression的持久化真相由crates/spacetime-module聚合,前端兼容输出与后端 facade 由crates/api-server暴露。- 若后续
module-custom-world的章节蓝图 Rust 化与当前 helper 有冲突,必须先校正文档和领域规则,再继续接线。