后端重写提交

This commit is contained in:
2026-04-22 12:34:49 +08:00
parent cf8da3f50f
commit 997a8daada
438 changed files with 53355 additions and 865 deletions

View File

@@ -1,29 +1,47 @@
# module-combat 独立模块 package 占位说明
# module-combat
日期:`2026-04-20`
日期:`2026-04-21`
## 1. package 职责
`module-combat`战斗规则模块 package后续负责:
`module-combat` M4 阶段的战斗规则 crate当前负责:
1. `battle_state` 等战斗状态模型
2. 战斗指令、伤害结算、战斗阶段推进规则
3. 与 story action 主循环的战斗联动
4. `apps/spacetime-module` 的战斗表、reducer、view 聚合对接
1. `battle_state` 首版领域类型与字段校验
2. `resolve_combat_action` 的纯规则推进
3. `fight / spar` 两种模式下的战斗收束规则
4. `spacetime-module` 提供可直接复用的战斗状态与 reducer 输入输出类型
## 2. 当前阶段说明
## 2. 当前实现范围
当前提交仅完成目录占位,不提前进入具体战斗规则与数值实现。
当前已经真实落地:
后续与本 package 直接相关的任务包括:
1. `BattleMode / BattleStatus / CombatOutcome`
2. `BattleStateInput / BattleStateSnapshot / BattleStateQueryInput`
3. `ResolveCombatActionInput / ResolveCombatActionResult`
4. `BattleStateProcedureResult / ResolveCombatActionProcedureResult`
5. `battle_attack_basic / battle_recover_breath / battle_use_skill / battle_escape_breakout`
6. 旧攻击类 function 的兼容解析
7. `chapter_id / experience_reward` 最小承载字段,供 `spacetime-module` 在胜利时联动成长结算
1. 设计 `battle_state`
2. 设计 `resolve_combat_action`
3. 对齐 battle 结果与兼容响应结构
4. 接入 story 主循环的战斗型 action 结算
当前刻意未做:
## 3. 边界约束
1. `inventory_use`
2. 掉落、好感、任务信号联动
3. story AI 续写触发
4. 多目标或完整 build / cooldown 真相建模
1. `module-combat` 保持纯规则、纯状态计算,不直接承接 HTTP、LLM、OSS 或其他外部副作用。
2. 战斗联动通过明确 reducer 与模块边界协作,不回到散落在多个 service 的过程式写法。
3. 前端兼容输出由 `apps/api-server` 暴露,战斗真相由 `apps/spacetime-module` 聚合。
## 3. 配套文档
落地依据见:
1. [../../../docs/technical/M4_MODULE_COMBAT_SPACETIMEDB_BASELINE_2026-04-21.md](../../../docs/technical/M4_MODULE_COMBAT_SPACETIMEDB_BASELINE_2026-04-21.md)
2. [../../../docs/technical/M4_MODULE_COMBAT_AXUM_FACADE_DESIGN_2026-04-21.md](../../../docs/technical/M4_MODULE_COMBAT_AXUM_FACADE_DESIGN_2026-04-21.md)
3. [../../../docs/technical/M4_MODULE_COMBAT_STATE_QUERY_DESIGN_2026-04-22.md](../../../docs/technical/M4_MODULE_COMBAT_STATE_QUERY_DESIGN_2026-04-22.md)
4. [../../../docs/technical/M4_PROGRESSION_QUEST_COMBAT_INTEGRATION_2026-04-21.md](../../../docs/technical/M4_PROGRESSION_QUEST_COMBAT_INTEGRATION_2026-04-21.md)
5. [../../../docs/prd/AI_NATIVE_BATTLE_SINGLE_ACTION_FUNCTION_PRD_2026-04-18.md](../../../docs/prd/AI_NATIVE_BATTLE_SINGLE_ACTION_FUNCTION_PRD_2026-04-18.md)
## 4. 边界约束
1. `module-combat` 只做纯规则、纯状态推进,不承接 HTTP、LLM、OSS 或文件 IO。
2. 任何与 `inventory / progression / npc / story` 的联动,都应先在文档里冻结边界后再继续接入。
3. 该 crate 的目标不是替代 Axum facade而是成为 `spacetime-module` 里的战斗真相规则层。