60 lines
1.9 KiB
Markdown
60 lines
1.9 KiB
Markdown
# shared-kernel 共享 crate 阶段性说明
|
||
|
||
日期:`2026-04-22`
|
||
|
||
## 1. crate 职责
|
||
|
||
`shared-kernel` 是跨模块共享领域内核 crate,当前阶段已经开始承接最小共享基础能力,负责:
|
||
|
||
1. 共享 ID、值对象、枚举与基础领域类型
|
||
2. 共享时间、状态、版本、通用校验等基础规则
|
||
3. 供各模块 package 复用的最小领域内核
|
||
|
||
## 2. 当前阶段说明
|
||
|
||
当前阶段已落地的共享能力:
|
||
|
||
1. 必填/可选字符串归一化
|
||
2. 字符串列表归一化
|
||
3. 前缀 UUID / 前缀种子 ID 生成
|
||
4. RFC3339 格式化与解析
|
||
5. 微秒时间戳文本格式化
|
||
|
||
后续与本 crate 直接相关的任务包括:
|
||
|
||
1. 统一用户、会话、世界、角色、资产等核心 ID 类型
|
||
2. 统一时间戳、版本号、状态枚举等共享结构
|
||
3. 抽取真正跨模块复用的最小领域规则
|
||
4. 避免把模块私有规则错误上提到共享内核
|
||
|
||
当前已接入的 crate 已覆盖:
|
||
|
||
1. `module-assets`
|
||
2. `module-auth`
|
||
3. `platform-auth`
|
||
4. `module-runtime`
|
||
5. `module-story`
|
||
6. `spacetime-client`
|
||
7. `api-server`
|
||
8. `module-ai`
|
||
9. `module-inventory`
|
||
10. `module-runtime-item`
|
||
11. `module-npc`
|
||
12. `module-quest`
|
||
13. `module-combat`
|
||
14. `module-progression`
|
||
|
||
## 3. 边界约束
|
||
|
||
1. `shared-kernel` 只放跨模块最小共享内核,不承接具体业务模块的私有规则。
|
||
2. 任何进入本 crate 的类型都必须证明至少被多个模块稳定复用。
|
||
3. 不能把主模块实现重新堆进共享内核,避免形成新的“大公共垃圾桶”。
|
||
|
||
更详细的阶段性设计见:
|
||
|
||
1. `docs/technical/RUST_SHARED_KERNEL_CRATE_STAGE1_DESIGN_2026-04-21.md`
|
||
2. `docs/technical/RUST_SHARED_KERNEL_CRATE_STAGE2_ADOPTION_2026-04-21.md`
|
||
3. `docs/technical/RUST_SHARED_KERNEL_CRATE_STAGE3_VALUE_NORMALIZATION_2026-04-22.md`
|
||
4. `docs/technical/RUST_SHARED_KERNEL_CRATE_STAGE4_REQUIRED_STRING_ADOPTION_2026-04-22.md`
|
||
5. `docs/technical/RUST_SHARED_KERNEL_CRATE_STAGE5_PURE_DOMAIN_FIELD_ADOPTION_2026-04-22.md`
|