docs: retire legacy editor module from rewrite scope
This commit is contained in:
@@ -27,14 +27,18 @@
|
||||
- 环境开关接口:`17` 条
|
||||
- 流式接口:`6` 条
|
||||
|
||||
重写后的 Rust 后端,第一阶段必须至少完整覆盖这 6 个挂载面:
|
||||
当前 Node 后端的历史基线仍然是这 `6` 个挂载面,但自 `2026-04-21` 起,本轮 Rust 后端重写的 active rewrite target 固定为其中 `5` 个:
|
||||
|
||||
1. `health`
|
||||
2. `auth`
|
||||
3. `editor`
|
||||
4. `assets`
|
||||
5. `runtime-main`
|
||||
6. `runtime-story-action`
|
||||
3. `assets`
|
||||
4. `runtime-main`
|
||||
5. `runtime-story-action`
|
||||
|
||||
补充说明:
|
||||
|
||||
1. `editor` 挂载面在历史系统中真实存在,但已被确认为遗留无用能力。
|
||||
2. `editor` 仅保留为历史基线对照,不纳入本轮 `server-rs` 重写验收。
|
||||
|
||||
当前后端内部模块也不能“凭感觉重设计”,而要按现有职责做映射:
|
||||
|
||||
@@ -51,6 +55,12 @@
|
||||
11. `runtime-item`
|
||||
12. `story`
|
||||
|
||||
其中:
|
||||
|
||||
1. 上述 `12` 个模块是历史基线总量。
|
||||
2. 本轮 active rewrite modules 固定为 `11` 个。
|
||||
3. `editor` 仅保留历史事实,不进入 `server-rs` 主线 package 与阶段验收。
|
||||
|
||||
## 3. 技术选型后的硬边界
|
||||
|
||||
### 3.1 SpacetimeDB 的平台约束与本项目边界
|
||||
@@ -119,7 +129,6 @@ Axum API Server
|
||||
├─ runtime facade:兼容当前 REST / SSE contract
|
||||
├─ asset gateway:OSS 直传签名、对象确认、媒体任务编排
|
||||
├─ ai gateway:DashScope / Ark / 其他模型调用
|
||||
├─ editor gateway:开发态文件读写或对象化编辑能力
|
||||
├─ background workers:异步作业执行与回写
|
||||
└─ SpacetimeDB client:调用 reducer、查询 view / public table、订阅任务状态
|
||||
|
||||
@@ -139,7 +148,7 @@ Aliyun OSS
|
||||
├─ generated-custom-world-scenes
|
||||
├─ generated-custom-world-covers
|
||||
├─ generated-qwen-sprites
|
||||
└─ editor-exports / temp-uploads / workflow-cache
|
||||
└─ temp-uploads / workflow-cache
|
||||
```
|
||||
|
||||
## 5. 重写后的核心原则
|
||||
@@ -224,7 +233,6 @@ server-rs/
|
||||
│ ├─ module-runtime-item/ # 运行时物品模块 package
|
||||
│ ├─ module-custom-world/ # 自定义世界与 agent 模块 package
|
||||
│ ├─ module-assets/ # 资产任务与对象绑定模块 package
|
||||
│ ├─ module-editor/ # 编辑器读写模块 package
|
||||
│ ├─ module-ai/ # AI 编排模块 package
|
||||
│ ├─ shared-contracts/ # HTTP DTO / SSE event / 前后端兼容 contract
|
||||
│ ├─ shared-kernel/ # 跨模块共享领域类型、ID、枚举、值对象
|
||||
@@ -243,7 +251,7 @@ server-rs/
|
||||
|
||||
1. `apps/api-server/` 只做协议装配、鉴权、中间件、handler 与模块组合,不把业务模块重新堆回单包。
|
||||
2. `apps/spacetime-module/` 只负责聚合各模块 package 的状态模型,不直接承接外部副作用。
|
||||
3. `packages/module-*` 保持与当前业务模块边界一一对应,必要时可在 package 内部再拆 `application`、`domain`、`spacetime` 子层次。
|
||||
3. `packages/module-*` 保持与当前业务模块边界一一对应,已明确退出本轮的 `editor` 遗留模块除外;必要时可在 package 内部再拆 `application`、`domain`、`spacetime` 子层次。
|
||||
4. `packages/shared-contracts/` 负责与当前前端兼容的 JSON / SSE 协议。
|
||||
5. `packages/shared-kernel/` 只放跨模块复用的数据结构和规则,不碰框架。
|
||||
6. `packages/platform-*` 统一承接三方供应商与平台适配。
|
||||
@@ -269,7 +277,11 @@ server-rs/
|
||||
| `custom-world` | SpacetimeDB module + Axum orchestration | OSS | 会话、草稿、agent 状态放 SpacetimeDB;世界编译、资产生成、发布编排在 Axum。 |
|
||||
| `ai` | Axum `llm-service` | SpacetimeDB task tables | 外部模型调用全部放 Axum。 |
|
||||
| `assets` | Axum `oss-service` | SpacetimeDB asset metadata | 二进制进 OSS,元数据进 SpacetimeDB。 |
|
||||
| `editor` | Axum `editor` namespace | OSS / local fs | 开发态保留本地文件适配,线上默认走对象化资源。 |
|
||||
|
||||
补充说明:
|
||||
|
||||
1. 历史 `editor` 模块不纳入 `server-rs` 本轮重写。
|
||||
2. 相关 `/api/editor/*` 与 `server-node/src/modules/editor` 仅保留为旧系统对照事实,后续若要清理再单独立项。
|
||||
|
||||
## 8. 数据建模方案
|
||||
|
||||
@@ -448,7 +460,6 @@ Axum 进程建议拆成以下子系统:
|
||||
- `/api/runtime/*`
|
||||
- `/api/runtime/story/*`
|
||||
- `/api/assets/*`
|
||||
- `/api/editor/*`
|
||||
3. `application::services`
|
||||
- story facade
|
||||
- runtime snapshot facade
|
||||
@@ -505,7 +516,6 @@ generated-animations/{character_id}/{animation_set_id}/{action}/{file}
|
||||
generated-custom-world-scenes/{profile_id}/{landmark_id}/{asset_id}/{file}
|
||||
generated-qwen-sprites/{role_id}/{sheet_id}/{file}
|
||||
generated-custom-world-covers/{profile_id}/{asset_id}/{file}
|
||||
editor-cache/{resource_type}/{resource_id}/{file}
|
||||
workflow-cache/{workflow_type}/{workflow_id}.json
|
||||
```
|
||||
|
||||
@@ -697,22 +707,26 @@ workflow-cache/{workflow_type}/{workflow_id}.json
|
||||
3. custom world agent 会话、卡片、操作
|
||||
4. scene npc / entity generation
|
||||
|
||||
## Phase 5:迁移 assets / editor
|
||||
## Phase 5:迁移 assets / OSS
|
||||
|
||||
交付:
|
||||
|
||||
1. OSS 直传
|
||||
2. 生成任务
|
||||
3. 对象元数据
|
||||
4. 编辑器读写开发态适配
|
||||
5. 旧 `/generated-*` 路径兼容
|
||||
4. 旧 `/generated-*` 路径兼容
|
||||
|
||||
补充说明:
|
||||
|
||||
1. `editor` 已于 `2026-04-21` 被确认为遗留无用模块,退出本轮 Rust 后端重写范围。
|
||||
2. Phase 5 只覆盖资产与 OSS 主链,不再包含 editor 迁移。
|
||||
|
||||
## 14. 验收标准
|
||||
|
||||
重写完成至少要满足:
|
||||
|
||||
1. 当前 `96` 条已登记路由全部有对应实现或明确兼容替代。
|
||||
2. 当前 6 个挂载面全部保留。
|
||||
2. 当前历史 `6` 个挂载面的迁移去向全部明确,且本轮 active rewrite target 的 `5` 个挂载面全部落地。
|
||||
3. 浏览器无需直接知道 SpacetimeDB 原生接口即可跑通主流程。
|
||||
4. story action、存档、custom world、agent、assets 都以后端为唯一真相。
|
||||
5. 所有生成图片、动画、精灵表都不再依赖本地 `public/generated-*` 持久化。
|
||||
|
||||
Reference in New Issue
Block a user