Integrate unfinished server-rs refactor worklists

This commit is contained in:
2026-04-30 13:39:06 +08:00
parent 62934b0809
commit 7ab0933f6d
676 changed files with 24487 additions and 21531 deletions

View File

@@ -14,7 +14,7 @@ use crate::{
write_i32_field, write_null_field, write_string_field,
};
/// 战斗 compat 纯结算链已经不依赖 HTTP / AppState。
/// 战斗纯结算链已经不依赖 HTTP / AppState。
///
/// 这里同时承接 battle action 的状态结算、资源恢复和战斗选项编译,
/// 让 `api-server` 只保留 HTTP 外壳与最终响应拼装。
@@ -56,7 +56,7 @@ struct BattleInventoryItemView {
use_profile: Option<BattleInventoryUseProfile>,
}
/// 兼容战斗结算的胜负状态。
/// 战斗结算的胜负状态。
///
/// 这里显式补齐失败分支,避免“玩家已死但敌方也被打空时”被错误归类成胜利。
#[derive(Clone, Copy, Debug, Eq, PartialEq)]

View File

@@ -1,3 +1,3 @@
//! runtime story 兼容写入命令过渡落位。
//! runtime story 写入命令过渡落位。
//!
//! 用于表达剧情动作解析、战斗动作、锻造动作和 NPC 互动等输入。
//! 用于表达剧情动作解析、战斗动作、锻造动作和 NPC 互动等输入。

View File

@@ -2,7 +2,7 @@ use serde_json::{Map, Value, json};
use shared_kernel::format_rfc3339;
use time::OffsetDateTime;
/// Runtime story compat 的纯 JSON 快照工具层。
/// Runtime story 的纯 JSON 快照工具层。
///
/// 这里不允许引入 HTTP、AppState 或持久化依赖,保证后续 battle/forge/npc/quest
/// 规则迁入独立 crate 时可以继续复用同一批状态读写函数。

View File

@@ -1,4 +1,4 @@
//! runtime story 兼容领域模型过渡落位。
//! runtime story 领域模型过渡落位。
//!
//! 当前 crate 用于运行时剧情的纯规则兼容。后续迁移时仍只能保留 JSON 规则、
//! 当前 crate 用于运行时剧情主链的纯规则收口。后续迁移时仍只能保留 JSON 规则、
//! 选项生成和视图模型转换,不引入 Axum、LLM 或 SpacetimeDB。

View File

@@ -1,3 +1,3 @@
//! runtime story 兼容领域错误过渡落位。
//! runtime story 领域错误过渡落位。
//!
//! 错误只表达兼容规则失败,不能直接绑定 HTTP 或数据库错误模型。
//! 错误只表达运行时剧情规则失败,不能直接绑定 HTTP 或数据库错误模型。

View File

@@ -1,3 +1,3 @@
//! runtime story 兼容领域事件过渡落位。
//! runtime story 领域事件过渡落位。
//!
//! 用于表达剧情快照变化、战斗表现变化和物品/成长待同步等事实。
//! 用于表达剧情快照变化、战斗表现变化和物品/成长待同步等事实。

View File

@@ -6,7 +6,7 @@ use crate::{
remove_inventory_item_from_list, resolve_equipment_slot_for_item,
};
/// 这批定义只服务 runtime story compat 的确定性锻造链。
/// 这批定义只服务 runtime story 的确定性锻造链。
///
/// 当前仍然保持旧快照态结算口径,不引入 HTTP / AppState / 持久化边界。
pub(crate) struct ForgeRequirementDefinition {

View File

@@ -18,7 +18,7 @@ use super::forge::{
/// 锻造动作编排已经不再依赖 `api-server` 的 HTTP 边界。
///
/// 这里继续沿用 compat 快照态结算,后续可直接被 `api-server` 外壳或真相态桥接层复用。
/// 这里继续沿用快照态结算,后续可直接被 `api-server` 外壳或真相态桥接层复用。
pub fn resolve_forge_craft_action(
game_state: &mut Value,
request: &RuntimeStoryActionRequest,

View File

@@ -5,7 +5,7 @@ use crate::{
read_field, read_i32_field, read_object_field, read_optional_string_field, write_i32_field,
};
/// 这批 helper 只负责 runtime story compat 的纯快照读写。
/// 这批 helper 只负责 runtime story 的纯快照读写。
///
/// 目标是先把 encounter / inventory / equipment 的基础状态工具从 `api-server`
/// 边界模块里收口出来,后续 battle / forge / equipment 规则迁移时直接复用。
@@ -186,7 +186,7 @@ pub fn normalize_equipment_slot_id(slot_id: &str) -> Option<&'static str> {
"armor" => Some("armor"),
"relic" | "accessory" => Some("relic"),
_ => {
// 兼容旧 payload 里直接传中文槽位名或物品类别文案的情况。
// 支持历史 payload 里直接传中文槽位名或物品类别文案的情况。
if slot_id.contains("武器")
|| slot_id.contains('剑')
|| slot_id.contains('弓')

View File

@@ -365,7 +365,7 @@ fn remove_companion_by_npc_id(game_state: &mut Value, npc_id: &str) -> Option<Va
Some(items.remove(index))
}
/// compat bridge 先只维护一个轻量队伍名单,继续复用前端的满员换队语义。
/// 当前主链先只维护一个轻量队伍名单,继续复用既有前端的满员换队语义。
pub fn recruit_companion_to_party(
game_state: &mut Value,
npc_id: &str,